nacos升级到2.0.3(单机模式)
前提:https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明
| Spring Cloud Alibaba | Spring Cloud | Spring Boot | Nacos |
| 2.2.7.RELEASE | Spring Cloud Hoxton.SR12 | 2.3.12.RELEASE | 2.0.3 |
一、pom.xml文件
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.12.RELEASE</version><relativePath/>
</parent><properties>
<spring-cloud.version>Hoxton.SR12</spring-cloud.version>
<spring-cloud-alibaba.verion>2.2.7.RELEASE</spring-cloud-alibaba.verion>
<nacos-client.verion>2.0.3</nacos-client.verion>
</properties> <!-- Spring Cloud -->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope>
</dependency>
<!-- Spring Cloud Alibaba -->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.verion}</version><type>pom</type><scope>import</scope>
</dependency><!-- 服务注册 -->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- 配置中心 -->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency><!--springboot版本变更2.3.12.RELEASE后@NotBlank注解失效引入-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId>
</dependency>
自己记录 method(@Validated TestReq req) 替换 method(@RequestBody TestReq req)
二、下载nacos2.0.3
官方下载地址:https://github.com/alibaba/nacos/releases
windows加速下载地址:https://ghproxy.com/https://github.com//alibaba/nacos/releases/download/2.0.3/nacos-server-2.0.3.zip
linux加速下载地址:https://ghproxy.com/https://github.com//alibaba/nacos/releases/download/2.0.3/nacos-server-2.0.3.tar.gz
三、下载后解压
1、修改application.properties中数据库配置
cd /lanren312/nacos/conf/
vim application.properties#*************** Config Module Related Configurations ***************#
### If user MySQL as datasource:
spring.datasource.platform=mysql### Count of DB:
db.num=1### Connect URL of DB:
db.url.0=jdbc:mysql://服务器ip:3306/db_nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=你的数据库密码nacos.core.auth.caching.enabled=true # 开启权限认证,很重要,很重要,很重要
2、修改nacos/bin/startup.cmd set MODE="standalone" (linux是startup.sh)
3、linux多两个步骤
3.1、在/bin/startup.sh中配置JAVA_HOME

3.2、在安全组、防火墙中开放8848、9848、9849三个端口

4、项目resource下的bootstrap.properties 文件
我项目的resource只配置了一个 bootstrap.properties 文件,bootstrap 加载优先于 applicaton(优先级可以自行百度)
spring.profiles.active=prod
spring.application.name=lanren312-order
spring.cloud.nacos.config.group=monkey
spring.cloud.nacos.config.server-addr=http://192.168.0.103:8848 # 服务器ip
spring.cloud.nacos.config.file-extension=yaml## 这些是2.x版本以上必须加的,不加服务启动就会报错
spring.cloud.nacos.config.username=nacos
spring.cloud.nacos.config.password=nacos # 默认是nacos,建议把密码改掉
spring.cloud.nacos.discovery.username=nacos
spring.cloud.nacos.discovery.password=nacos # 默认是nacos,建议把密码改掉
1、我是用的默认的namespace,这里可以不写,如果你创建了新的,那么这么就要指定
2、nacos密码是默认的,建议导入sql时将密码改掉,百度搜索--Bcrypt密码生成计算器, https://www.jisuan.mobi/nX7.html
3、dataID格式: ${spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}(格式可以自行百度)
我的这个服务的dataId: lanren312-order-prod.yaml
dataID不能有下划线“_” ,得是中划线"-"
配置中“:”后要有空格。accessKey: 5
5、 在nacos客户端新建配置
Data ID:lanren312-order-prod.yaml
Group: monkey
配置格式: YAML
配置内容:写之前的不用改,贴一部分关于nacos的配置
spring:cloud:nacos:discovery:server-addr: 192.168.0.103:8848
做完这些,启动服务,就能注册到nacos上。
记录一些api## 查看到nacos目前已经注册过的账号和加密后的密码
http://localhost:8848/nacos/v1/auth/users?pageNo=1&pageSize=10&username=nacos&password=nacos
## 查看到dataId配置
http://localhost:8848/nacos/v1/cs/configs?group=monkey&tenant=public&dataId=lanren312-order-prod.yaml&username=nacos&password=nacos
## 查看nacos启动的服务
http://localhost:8848/nacos/v1/ns/upgrade/ops/metrics
四、说说碰到的问题
1、可能需要的pom.xml引用
<!--spring-cloud-dependencies 2020.0.0 默认不在加载bootstrap 配置文件,
如果项目中要用bootstrap 配置文件 需要手动添加spring-cloud-starter-bootstrap 依赖,不然启动项目会报错的。-->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId><version>3.0.2</version>
</dependency> <!--有博客说要排除自带的nacos-client,要重新引入,后面不排除发现也能用-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><exclusions><exclusion><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId></exclusion></exclusions>
</dependency>
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId><exclusions><exclusion><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId></exclusion></exclusions>
</dependency>
<dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId><version>2.0.3</version>
</dependency>
2、开启权限验证,注册失败
经过检查发现
windows启动 会把配置文件写到 C:\Users\Administrator\nacos 目录下
linux中启动第一行日志就会打印 c.a.n.c.c.impl.LocalConfigInfoProcessor : LOCAL_SNAPSHOT_PATH:/root/nacos/config
在nacos客户端修改配置后,这里面的文件也会实时更新,说明客户端这边没问题。
启动服务报错 3次get data from Nacos error,有报错 403,unknown user
NacosPropertySourceBuilder : get data from Nacos error,dataId:lanren312-order
com.alibaba.nacos.api.exception.NacosException: http error, code=403,dataId= lanren312-order,group=monkey,tenant=
......
NacosPropertySourceBuilder : get data from Nacos error,dataId:lanren312-order.yaml
com.alibaba.nacos.api.exception.NacosException: http error, code=403,dataId= lanren312-order.yaml ,group=monkey,tenant=
......
NacosPropertySourceBuilder : get data from Nacos error,dataId:lanren312-order-prod.yaml
com.alibaba.nacos.api.exception.NacosException: http error, code=403,dataId= lanren312-order-prod.yaml ,group=monkey,tenant=
......
***************************
APPLICATION FAILED TO START
***************************Description:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver classAction:
Consider the following:If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.If you have database settings to be loaded from a particular profile you may need to activate it (the profiles prod are currently active)
最终还指向了DataSource,可DataSource肯定不可能有错的,上面的3次报错也很可疑,于是去nacos的issues去碰碰运气
和我的问题一样,但没看到解决办法:https://github.com/alibaba/spring-cloud-alibaba/issues/2332
https://github.com/alibaba/spring-cloud-alibaba/issues/3210 里面说要在bootstrap.properties文件中添加 nacos账号密码。添加后启动服务控制台正常,nacos客户端可以看到服务已经注册上去。完美
期间有试过在nacos客户端中 lanren312-order-prod.yaml 里面配置nacos账户密码,启动还是报错,最终是将nacos账户密码配置在bootstrap.properties文件中解决了问题。
完!
相关文章:
nacos升级到2.0.3(单机模式)
前提:https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明 Spring Cloud AlibabaSpring CloudSpring BootNacos2.2.7.RELEASESpring Cloud Hoxton.SR122.3.12.RELEASE2.0.3 一、pom.xml文件 <parent><groupId>org.springframework.boot&…...
Koa学习3:用户添加、错误处理
模型 在src目录下创建model目录,用来存放模型 创建用户模型 user.model.js 注意: UUID类型是无法自增的,将id设置为UUID类型时只需要为其指定默认值即可 // 数据类型 const { DataTypes } require(sequelize); // 导入已经连接了数据库…...
网络安全入门学习第十五课——PHP基础
文章目录 一、WEB技术1、什么是web2、B/S架构3、C/S架构 二、PHP概述1、PHP是什么2、PHP受欢迎的原因3、基于MVC模式的PHP框架4、常用编译工具5、PHP环境搭建6、开发工具 三、PHP基本语法格式1、标记2、输出语句3、注释4、标识符 四、数据与运算1、常量1.1、常量定义1.2、预定义…...
电子科技大学 数学专业-功不唐捐,玉汝于成
电子科技大学 数学专业 功不唐捐,玉汝于成 1.本科背景 本科是坐落于湖南湘潭的湖南科技大学,专业为网络工程专业,因热爱数学专业,所以决定跨考数学专业。 本科专业课平均成绩85,排名10/104。CET 4 474分,…...
Android10.0 iptables用IOemNetd实现删除子链功能的实现
1.前言 在10.0的系统rom定制化开发中,在system中netd网络这块的产品需要中,会要求设置屏蔽ip地址之内的功能, liunx中iptables命令也是比较重要的,接下来就来在IOemNetd这块实现删除创建子链的相关功能 2. iptables用IOemNetd实现删除创建子链功能的实现的核心类 syste…...
OpenGL光照之光照贴图
文章目录 漫反射贴图镜面光贴图放射光贴图代码 每个物体都拥有自己独特的材质从而对光照做出不同的反应的方法。这样子能够很容易在一个光照的场景中给每个物体一个独特的外观,但是这仍不能对一个物体的视觉输出提供足够多的灵活性。 我们将整个物体的材质定义为一个…...
2018~2019 学年第二学期《信息安全》考试试题(B 卷)
北京信息科技大学 2018 ~2019 学年第 2 学期 《信息安全》课程期末考试试卷 B 课程所在学院:计算机学院 适用专业班级:计科 1601-06,重修 考试形式:(闭卷) 一. 选择题(本题满分 10 分,共含 10 道小题,每小题 1 分) 网络中存在的安全漏洞主…...
LeetCode-C#-0002.两数相加
0.声明 该题目来源于LeetCode 如有侵权,立马删除。 解法不唯一,如有新解法可一同讨论。 1.题目 0002两数相加 给你两个非空的链表,表示两个非负的整数,它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一…...
访问修饰符private,default,protected,public访问等级区别
private:private是最严格的访问修饰符,它将成员声明为私有的。私有成员只能在声明它们的类内部访问,其他类无法直接访问私有成员。这样可以确保数据的封装性和安全性。 default(默认):如果没有明确指定访问…...
阿里云(Linux)安装Docker教程
首先安装docker,需要找到帮助文档,那肯定是我们的官网: Install Docker Engine on CentOS | Docker Documentation 找到对应的位置,这里是安装在CentOS中,版本需要Ce…...
Linux C编程基础:获取时间
1.前言 对于linux下的编程,无论是用户态还是内核态,时间获取都是经常需要使用到的。以下分别从用户态和内核态整理了几个常用的时间获取接口,供编写代码时快速查阅。 2.用户态获取时间 2.1 clock_gettime() #include <time.h>int c…...
Spring核心注解
1、Bean注解 作用:用于把当前方法的返回值作为bean对象存入spring的ioc容器中位置: 一般出现在方法上面属性: name:用于指定bean的id。当不写时,默认值是当前方法的名称细节:当我们使用注解配置方法时,如果方法有参数,…...
哈希表原理,以及unordered_set/和unordered_map的封装和迭代器的实现
哈希表 unordered系列unordered_set和unordered_map的使用哈希哈希概念哈希冲突哈希函数闭散列开散列哈希表的扩容哈希表源码(开散列和闭散列) 封装unordered_set/和unordered_map,以及实现迭代器节点定义unordered_set定义unordered_map定义…...
如何把歌曲里的伴奏音乐提取出来,分享几个方法给大家!
对于一首歌,我们都知道,它有两部分组成:背景音乐人声。这两者合在一起,便是我们经常听的歌。部分用户想要直接获取歌曲伴奏,那么可以在UU伴奏网上下载。 操作方法比较简单,直接搜索想要的歌曲名称就可以了…...
区块链产业快速发展 和数集团开启区块链应用新时代
UTONMOS区块链游戏要来了。 就在5月底,UTONMOS品牌所属公司上海和数集团在泰国发布了【神念无界】系列的多款国际版链游,包括【神念无界-源起山海】、【北荒传奇】、【神宠岛】、【神农园】等区块链游戏。 以【神念无界-源起山海】为例,其是…...
初出茅庐的小李博客之常见字符串函数使用
C语言字符数组与字符串数组 在C语言中,字符数组和字符串数组实际上是同一种类型。字符串是由字符组成的字符数组,通常以空字符 ‘\0’ 结尾。C语言中的字符串是一种常见的数据类型。我们可以通过两种方式定义字符数组跟字符串数组 char charArray[10];…...
运筹学工程化流程和常见的运筹学算法分类以及常见软件
文章目录 前言运筹学工程化流程运筹学算法分类运筹学软件参考文献 前言 自2023年初新冠疫情管控放开后,各家公司各类岗位的人员都有被裁的消息传出,但用人市场上运筹学算法岗位却反其道行之,用工出现了激增。可以预见的是数据算法将从传统的…...
JAVA面向对象(三)
第三章 封装与继承 目录 第三章 封装与继承 1.1.封装 1.2.包 1.3.访问权限控制 1.4.static修饰符 1.4.1.成员变量 1.4.2.成员方法 1.4.3.代码块 总结 内容仅供学习交流,如有问题请留言或私信!!!!࿰…...
前端面试题---跨域处理和异常、错误处理
一.跨域处理 在前端开发中,当我们在浏览器中向不同域名或端口发起请求时,就会遇到跨域请求的限制。为了处理跨域请求,有几种常见的方法 1.JSONP(JSON with Padding) JSONP是一种利用 <script> 标签可以跨域加载…...
网络安全之反序列化漏洞分析
简介 FastJson 是 alibaba 的一款开源 JSON 解析库,可用于将 Java 对象转换为其 JSON 表示形式,也可以用于将 JSON 字符串转换为等效的 Java 对象分别通过toJSONString和parseObject/parse来实现序列化和反序列化。 使用 对于序列化的方法toJSONStrin…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
JVM 内存结构 详解
内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 每个线程都有一个程序计数…...
(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...
【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道
文/法律实务观察组 在债务重组领域,专业机构的核心价值不仅在于减轻债务数字,更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明,合法债务优化需同步实现三重平衡: 法律刚性(债…...
实战设计模式之模板方法模式
概述 模板方法模式定义了一个操作中的算法骨架,并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下,重新定义算法中的某些步骤。简单来说,就是在一个方法中定义了要执行的步骤顺序或算法框架,但允许子类…...
相关类相关的可视化图像总结
目录 一、散点图 二、气泡图 三、相关图 四、热力图 五、二维密度图 六、多模态二维密度图 七、雷达图 八、桑基图 九、总结 一、散点图 特点 通过点的位置展示两个连续变量之间的关系,可直观判断线性相关、非线性相关或无相关关系,点的分布密…...
C++--string的模拟实现
一,引言 string的模拟实现是只对string对象中给的主要功能经行模拟实现,其目的是加强对string的底层了解,以便于在以后的学习或者工作中更加熟练的使用string。本文中的代码仅供参考并不唯一。 二,默认成员函数 string主要有三个成员变量,…...
