欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

项目连接nacos配置中心报错:Clientnotconnected,currentstatus:STARTING的解决方案,

来源: javaer 分享于  点击 10328 次 点评:132

项目连接nacos配置中心报错:Clientnotconnected,currentstatus:STARTING的解决方案,


目录
  • 一、 运行环境
  • 二、启动nacos
  • 二、出现问题

一、 运行环境

nacos版本:2.2.3
mysql版本:5.7
采用了mysql作为持久化的数据库,docker作为运行的环境

二、启动nacos

采用 docker 的形式运行 mysql 和 nacos
起初运行 nacos 的 docker 命令:

docker run -d 
-e MODE=standalone 
-e PREFER_HOST_MODE=hostname 
-e SPRING_DATASOURCE_PLATFORM=mysql 
-e MYSQL_SERVICE_HOST=本机地址 
-e MYSQL_SERVICE_PORT=3306 
-e MYSQL_SERVICE_USER=root 
-e MYSQL_SERVICE_PASSWORD=123456 
-e MYSQL_SERVICE_DB_NAME=nacos-config 
-p 8848:8848 
--name nacos 
--restart=always nacos/nacos-server:latest

命令解释:
docker run:这是Docker的一个命令,用于从Docker镜像创建并启动一个容器。
-d:这个选项告诉Docker在后台运行容器,并返回容器ID。
-e:这个选项用于设置环境变量。例如,-e MODE=standalone 设置了环境变量MODE的值为’standalone’。
-p:这个选项用于端口映射,例如 -p 8848:8848 将主机的8848端口映射到容器的8848端口。
--name:这个选项用于给容器命名,此处的名字为’nacos’。
--restart=always:这是一个策略,表明如果容器退出,Docker应该总是尝试重新启动它。
nacos/nacos-server:latest:这是要运行的Docker镜像的名称,其中’nacos/nacos-server’是镜像的仓库和名称,'latest’是标签,表示要使用的是最新的版本。
nacos可以正常启动,然后也可以访问web控制台。但是事情还没完

二、出现问题

然后我启动项目连接 nacos 的时候报错:Client not connected,current status:STARTING,StatusRuntimeException
一盆冷水从头浇到脚底板。。。。/(ㄒoㄒ)/~~
经过多方查找,发现 nacos 2.x.x 需要在启动的时候多映射两个端口:9848,9849
官方解释如下:
Nacos2.0版本相比1.X新增了gRPC的通信方式,因此需要增加2个端口。新增端口是在配置的主端口(server.port)基础上,进行一定偏移量自动生成。

端口与主端口的偏移量描述
98481000客户端gRPC请求服务端端口,用于客户端向服务端发起连接和请求
98491001服务端gRPC请求服务端端口,用于服务间同步等

更多解释移步官网查看:https://nacos.io/zh-cn/docs/v2/upgrading/2.0.0-compatibility.html

所以修改后的 docker 启动命令应该是:

docker run -d -e MODE=standalone -e PREFER_HOST_MODE=hostname -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_HOST=本机地址 -e MYSQL_SERVICE_PORT=3306 -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=123456 -e MYSQL_SERVICE_DB_NAME=nacos-config -p 8848:8848 -p 9848:9848 -p 9849:9849 --name nacos --restart=always nacos/nacos-server:latest

到此这篇关于项目连接nacos配置中心报错:Client not connected, current status:STARTING的文章就介绍到这了,更多相关nacos配置中心报错内容请搜索3672js教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持3672js教程!

您可能感兴趣的文章:
  • SpringCloud读取Nacos配置中心报错及遇到的坑:Could not resolve placeholder ‘xxx’ in value ‘${xxx}
  • Spring的@Value如何从Nacos配置中心获取值并自动刷新
  • nacos配置中心远程调用读取不到配置文件的解决
  • SpringBoot使用Nacos配置中心的实现
  • Spring Cloud Alibaba Nacos Config配置中心实现
相关栏目:

用户点评