項目連接nacos配置中心報錯:Client not connected, current status:STARTING的解決方案
一、 運行環(huán)境
nacos版本:2.2.3
mysql版本:5.7
采用了mysql作為持久化的數據庫,docker作為運行的環(huán)境
二、啟動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鏡像創(chuàng)建并啟動一個容器。-d:
這個選項告訴Docker在后臺運行容器,并返回容器ID。-e:
這個選項用于設置環(huán)境變量。例如,-e MODE=standalone 設置了環(huán)境變量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ㄒ)/~~
經過多方查找,發(fā)現 nacos 2.x.x 需要在啟動的時候多映射兩個端口:9848,9849
官方解釋如下:
Nacos2.0版本相比1.X新增了gRPC的通信方式,因此需要增加2個端口。新增端口是在配置的主端口(server.port)基礎上,進行一定偏移量自動生成。
端口 | 與主端口的偏移量 | 描述 |
---|---|---|
9848 | 1000 | 客戶端gRPC請求服務端端口,用于客戶端向服務端發(fā)起連接和請求 |
9849 | 1001 | 服務端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配置中心報錯內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
mybatis實現表與對象的關聯關系_動力節(jié)點Java學院整理
這篇文章主要介紹了mybatis實現表與對象的關聯關系_動力節(jié)點Java學院整理,需要的朋友可以參考下2017-09-09Springboot整合RabbitMq測試TTL的方法詳解
這篇文章主要介紹了Springboot整合RabbitMq測試TTL的設置,設置TTL一般由兩種設置方法,設置整個隊列的過期時間另一種設置單個消息的過期時間,通過示例圖文相結合給大家介紹的非常詳細,需要的朋友可以參考下2022-03-03在JAVA?Web項目中動態(tài)加載DLL/SO文件的方法
在JAVA?Web項目中,我們經常需要調用一些第三方庫或者實現一些JAVA本身不支持的功能,這時,我們可能會考慮使用JNI來調用DLL或SO文件,然而,因此,本文將介紹如何在JAVA?Web項目中動態(tài)加載DLL/SO文件,需要的朋友可以參考下2024-12-12