项目连接nacos配置中心报错:Client not connected, current status:STARTING的解决方案

 更新时间:2024年03月30日 09:26:21   作者:码上那点事  
这篇文章主要介绍了项目连接nacos配置中心报错:Client not connected, current status:STARTING的解决方案,采用了mysql作为持久化的数据库,docker作为运行的环境,感兴趣的朋友跟随小编一起看看吧

一、 运行环境

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配置中心报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java唤醒本地应用的两种方法详解

    Java唤醒本地应用的两种方法详解

    这篇文章主要为大家介绍了Java唤醒本地应用的两种方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Java设计模式之备忘录模式(Memento模式)介绍

    Java设计模式之备忘录模式(Memento模式)介绍

    这篇文章主要介绍了Java设计模式之备忘录模式(Memento模式)介绍,memento是一个保存另外一个对象内部状态拷贝的对象,这样以后就可以将该对象恢复到原先保存的状态,需要的朋友可以参考下
    2015-03-03
  • Java使用反射操作数组示例

    Java使用反射操作数组示例

    这篇文章主要介绍了Java使用反射操作数组,结合实例形式分析了基于java反射机制操作数组的创建、赋值、输出等相关实现技巧,需要的朋友可以参考下
    2019-07-07
  • mybatis实现表与对象的关联关系_动力节点Java学院整理

    mybatis实现表与对象的关联关系_动力节点Java学院整理

    这篇文章主要介绍了mybatis实现表与对象的关联关系_动力节点Java学院整理,需要的朋友可以参考下
    2017-09-09
  • 浅谈java中Map的用法

    浅谈java中Map的用法

    Map简介:将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。此接口取代 Dictionary 类,后者完全是一个抽象类,而不是一个接口。
    2015-09-09
  • Springboot整合RabbitMq测试TTL的方法详解

    Springboot整合RabbitMq测试TTL的方法详解

    这篇文章主要介绍了Springboot整合RabbitMq测试TTL的设置,设置TTL一般由两种设置方法,设置整个队列的过期时间另一种设置单个消息的过期时间,通过示例图文相结合给大家介绍的非常详细,需要的朋友可以参考下
    2022-03-03
  • 在JAVA Web项目中动态加载DLL/SO文件的方法

    在JAVA Web项目中动态加载DLL/SO文件的方法

    在JAVA Web项目中,我们经常需要调用一些第三方库或者实现一些JAVA本身不支持的功能,这时,我们可能会考虑使用JNI来调用DLL或SO文件,然而,因此,本文将介绍如何在JAVA Web项目中动态加载DLL/SO文件,需要的朋友可以参考下
    2024-12-12
  • Spring5新功能日志框架Log4j2整合示例

    Spring5新功能日志框架Log4j2整合示例

    这篇文章主要为大家介绍了Spring5新功能之日志框架Log4j2的整合示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 浅谈java Properties类的使用基础

    浅谈java Properties类的使用基础

    下面小编就为大家分享一篇浅谈java Properties类的使用基础,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • IDEA新建Springboot项目(图文教程)

    IDEA新建Springboot项目(图文教程)

    下面小编就为大家带来一篇IDEA新建Springboot项目(图文教程)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07

最新评论