Nacos2.0.3集群搭建
集群搭建
前置條件
- JDK 1.8
- MySQL 5.7.29
- Nacos 2.0.3
搭建過(guò)程
首先在MySQL中新建一個(gè)數(shù)據(jù)庫(kù)(nacos_config)
nacos的腳本存放位置: nacos/conf/nacos-mysql.sql
將nacos腳本導(dǎo)入到新建的數(shù)據(jù)庫(kù)中,導(dǎo)入成功后如下。
將數(shù)據(jù)連接改為mysql ,配置數(shù)據(jù)庫(kù)的連接驅(qū)動(dòng),賬號(hào)密碼等
確定好三個(gè)端口號(hào)(注意三個(gè)端口不要連著,下面會(huì)說(shuō)原因)
把conf文件下cluster.conf.example文件重命名,去掉.example cp cluster.conf.example cluster.conf
修改文件內(nèi)容,vim cluster.conf,注意:這個(gè)IP不能寫127.0.0.1,必須是Linux命令hostname -i能夠識(shí)別的IP
將nacos復(fù)制三份,在nacos/conf/application.properties中修改端口號(hào)(端口號(hào)不要連著)
啟動(dòng)服務(wù):三臺(tái)服務(wù)器依次啟動(dòng)。
nginx 反向代理
- nacos2.x有個(gè)大坑,現(xiàn)在即使是搭建nacos集群成功了,但是java程序注冊(cè)服務(wù)進(jìn)nacos集群中,啟動(dòng)時(shí)報(bào)錯(cuò)Connection is unregistered.或Client not connected,current status:STARTING.
- 原因如下:一個(gè)nacos啟動(dòng)默認(rèn)端口是8848,那么nacos同時(shí)也會(huì)啟動(dòng)9848這個(gè)grpc端口。 grpc端口 (9848)= 啟動(dòng)端口(8848) + 1000,同理我nacos集群?jiǎn)?dòng)了三個(gè)nacos 端口分別為8847,8852,8858,那么這三個(gè)nacos也會(huì)啟動(dòng) 9847,9852,9858.,因?yàn)槲覀円呀?jīng)用nginx代理服務(wù)器的8848反向代理 三個(gè)nacos 端口分別為8847,8852,8858。但是我們還沒(méi)有 代理三個(gè)nacos端口9847,9852,9858.
- 我采用的解決辦法是,用nginx代理他的grpc端口,但是因?yàn)镹ginx對(duì)于gRPC不適合長(zhǎng)連接的操作。所以更好的解決方法為:用nginx來(lái)帶來(lái)nacos的8848端口,用haproxy來(lái)代理9848的grpc端口。本文沒(méi)有實(shí)現(xiàn),想實(shí)現(xiàn)可以參考https://blog.csdn.net/qq_39009944/article/details/123634837?spm=1001.2014.3001.5502
Nginx 相關(guān)命令:
啟動(dòng)nginx命令(指定配置文件啟動(dòng))
nginx/sbin/nginx -c /nginx/conf/nginx.conf
關(guān)閉
nginx/sbin/nginx -s stop
重啟
nginx/sbin/nginx -s reload
啟動(dòng)效果
問(wèn)題總結(jié)
集群配置連續(xù)端口時(shí)端口占用問(wèn)題
順序啟動(dòng)8848則連帶啟動(dòng)9848與9849端口。再啟動(dòng)8849則需連帶啟動(dòng)9849與9850,9849端口沖突。
解決未授權(quán)訪問(wèn)漏洞
修改application.properties配置項(xiàng)
### If turn on auth system: nacos.core.auth.enabled=true- 這樣修改后項(xiàng)目連接中需要增加訪問(wèn)的賬號(hào)密碼
總結(jié)
以上是生活随笔為你收集整理的Nacos2.0.3集群搭建的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: avro java_avro序列化框架实
- 下一篇: 从零到一构建完整知识体系,阿里最新Spr