当前位置: 首页 > news >正文

nacos升级到2.0.3(单机模式)

前提:https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明

Spring Cloud AlibabaSpring CloudSpring BootNacos
2.2.7.RELEASESpring Cloud Hoxton.SR122.3.12.RELEASE2.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(单机模式)

前提&#xff1a;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目录&#xff0c;用来存放模型 创建用户模型 user.model.js 注意&#xff1a; UUID类型是无法自增的&#xff0c;将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、预定义…...

电子科技大学 数学专业-功不唐捐,玉汝于成

电子科技大学 数学专业 功不唐捐&#xff0c;玉汝于成 1.本科背景 本科是坐落于湖南湘潭的湖南科技大学&#xff0c;专业为网络工程专业&#xff0c;因热爱数学专业&#xff0c;所以决定跨考数学专业。 本科专业课平均成绩85&#xff0c;排名10/104。CET 4 474分&#xff0c;…...

Android10.0 iptables用IOemNetd实现删除子链功能的实现

1.前言 在10.0的系统rom定制化开发中,在system中netd网络这块的产品需要中,会要求设置屏蔽ip地址之内的功能, liunx中iptables命令也是比较重要的,接下来就来在IOemNetd这块实现删除创建子链的相关功能 2. iptables用IOemNetd实现删除创建子链功能的实现的核心类 syste…...

OpenGL光照之光照贴图

文章目录 漫反射贴图镜面光贴图放射光贴图代码 每个物体都拥有自己独特的材质从而对光照做出不同的反应的方法。这样子能够很容易在一个光照的场景中给每个物体一个独特的外观&#xff0c;但是这仍不能对一个物体的视觉输出提供足够多的灵活性。 我们将整个物体的材质定义为一个…...

2018~2019 学年第二学期《信息安全》考试试题(B 卷)

北京信息科技大学 2018 ~2019 学年第 2 学期 《信息安全》课程期末考试试卷 B 课程所在学院:计算机学院 适用专业班级:计科 1601-06&#xff0c;重修 考试形式:(闭卷) 一. 选择题(本题满分 10 分&#xff0c;共含 10 道小题&#xff0c;每小题 1 分) 网络中存在的安全漏洞主…...

LeetCode-C#-0002.两数相加

0.声明 该题目来源于LeetCode 如有侵权&#xff0c;立马删除。 解法不唯一&#xff0c;如有新解法可一同讨论。 1.题目 0002两数相加 给你两个非空的链表&#xff0c;表示两个非负的整数&#xff0c;它们每位数字都是按照逆序的方式存储的&#xff0c;并且每个节点只能存储一…...

访问修饰符private,default,protected,public访问等级区别

private&#xff1a;private是最严格的访问修饰符&#xff0c;它将成员声明为私有的。私有成员只能在声明它们的类内部访问&#xff0c;其他类无法直接访问私有成员。这样可以确保数据的封装性和安全性。 default&#xff08;默认&#xff09;&#xff1a;如果没有明确指定访问…...

阿里云(Linux)安装Docker教程

首先安装docker&#xff0c;需要找到帮助文档&#xff0c;那肯定是我们的官网&#xff1a; Install Docker Engine on CentOS | Docker Documentation 找到对应的位置&#xff0c;这里是安装在CentOS中&#xff0c;版本需要Ce…...

Linux C编程基础:获取时间

1.前言 对于linux下的编程&#xff0c;无论是用户态还是内核态&#xff0c;时间获取都是经常需要使用到的。以下分别从用户态和内核态整理了几个常用的时间获取接口&#xff0c;供编写代码时快速查阅。 2.用户态获取时间 2.1 clock_gettime() #include <time.h>int c…...

Spring核心注解

1、Bean注解 作用&#xff1a;用于把当前方法的返回值作为bean对象存入spring的ioc容器中位置: 一般出现在方法上面属性: name:用于指定bean的id。当不写时&#xff0c;默认值是当前方法的名称细节&#xff1a;当我们使用注解配置方法时&#xff0c;如果方法有参数&#xff0c;…...

哈希表原理,以及unordered_set/和unordered_map的封装和迭代器的实现

哈希表 unordered系列unordered_set和unordered_map的使用哈希哈希概念哈希冲突哈希函数闭散列开散列哈希表的扩容哈希表源码&#xff08;开散列和闭散列&#xff09; 封装unordered_set/和unordered_map&#xff0c;以及实现迭代器节点定义unordered_set定义unordered_map定义…...

如何把歌曲里的伴奏音乐提取出来,分享几个方法给大家!

对于一首歌&#xff0c;我们都知道&#xff0c;它有两部分组成&#xff1a;背景音乐人声。这两者合在一起&#xff0c;便是我们经常听的歌。部分用户想要直接获取歌曲伴奏&#xff0c;那么可以在UU伴奏网上下载。 操作方法比较简单&#xff0c;直接搜索想要的歌曲名称就可以了…...

区块链产业快速发展 和数集团开启区块链应用新时代

UTONMOS区块链游戏要来了。 就在5月底&#xff0c;UTONMOS品牌所属公司上海和数集团在泰国发布了【神念无界】系列的多款国际版链游&#xff0c;包括【神念无界-源起山海】、【北荒传奇】、【神宠岛】、【神农园】等区块链游戏。 以【神念无界-源起山海】为例&#xff0c;其是…...

初出茅庐的小李博客之常见字符串函数使用

C语言字符数组与字符串数组 在C语言中&#xff0c;字符数组和字符串数组实际上是同一种类型。字符串是由字符组成的字符数组&#xff0c;通常以空字符 ‘\0’ 结尾。C语言中的字符串是一种常见的数据类型。我们可以通过两种方式定义字符数组跟字符串数组 char charArray[10];…...

运筹学工程化流程和常见的运筹学算法分类以及常见软件

文章目录 前言运筹学工程化流程运筹学算法分类运筹学软件参考文献 前言 自2023年初新冠疫情管控放开后&#xff0c;各家公司各类岗位的人员都有被裁的消息传出&#xff0c;但用人市场上运筹学算法岗位却反其道行之&#xff0c;用工出现了激增。可以预见的是数据算法将从传统的…...

JAVA面向对象(三)

第三章 封装与继承 目录 第三章 封装与继承 1.1.封装 1.2.包 1.3.访问权限控制 1.4.static修饰符 1.4.1.成员变量 1.4.2.成员方法 1.4.3.代码块 总结 内容仅供学习交流&#xff0c;如有问题请留言或私信&#xff01;&#xff01;&#xff01;&#xff01;&#xff0…...

前端面试题---跨域处理和异常、错误处理

一.跨域处理 在前端开发中&#xff0c;当我们在浏览器中向不同域名或端口发起请求时&#xff0c;就会遇到跨域请求的限制。为了处理跨域请求&#xff0c;有几种常见的方法 1.JSONP&#xff08;JSON with Padding&#xff09; JSONP是一种利用 <script> 标签可以跨域加载…...

网络安全之反序列化漏洞分析

简介 FastJson 是 alibaba 的一款开源 JSON 解析库&#xff0c;可用于将 Java 对象转换为其 JSON 表示形式&#xff0c;也可以用于将 JSON 字符串转换为等效的 Java 对象分别通过toJSONString和parseObject/parse来实现序列化和反序列化。 使用 对于序列化的方法toJSONStrin…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下&#xff0c;江苏艾立泰以一场跨国资源接力的创新实践&#xff0c;重新定义了绿色供应链的边界。 跨国回收网络&#xff1a;废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点&#xff0c;将海外废弃包装箱通过标准…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...