nacos 叢集搭建

HuDu發表於2021-08-09

架構圖

Nacos 叢集搭建

官方文件

下載安裝

mkdir /opt/nacos_cluster
wget https://github.com/alibaba/nacos/releases/download/1.4.2/nacos-server-1.4.2.tar.gz
# 重複三次
tar -zxvf nacos-server-1.4.2.tar.gz
mv nacos /opt/nacos_cluster/nacos_8849

單機搭建偽叢集,複製 nacos 安裝包,修改為 nacos_8849,nacos_8850,nacos_8851

Nacos 叢集搭建

以nacos_8849為例

1、修改 conf\application.properties的配置,使用外接資料來源

# 使用外接 mysql 資料來源
spring.datasource.platform=mysql

# Count of DB:
db.num=1

# Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=nacos
db.password.0=nacos

Nacos 叢集搭建

2、將conf\cluster.conf.example 複製一份 cluster.conf 新增節點

#it is ip
#example
192.168.33.10:8849
192.168.33.10:8850
192.168.33.10:8851

3、建立資料庫

使用nacos-mysql.sql

Nacos 叢集搭建

Nacos 叢集搭建

4、如果出現記憶體不足

修改啟動指令碼 (bin\startup.sh) 的 jvm 引數
JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

Nacos 叢集搭建

5、啟動測試

$ sh bin/startup.sh
$ vim logs/start.log

啟動成功

Nacos 叢集搭建

訪問 192.168.33.62:8849/nacos,可以正常訪問,啟動成功。可以看到叢集的節點暫時只啟動了一個。

Nacos 叢集搭建

5、配置 nginx

$ sudo apt update
$ sudo apt install nginx

# centos 配置
yum install -y yum-utils
yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo
# 安裝 openresty
sudo apt install openresty

6、反向代理

upstream nacoscluster {
    server 127.0.0.1:8849;
    server 127.0.0.1:8850;
    server 127.0.0.1:8851;
}

server {
    listen    8847;
    server_name    localhost;

    location /nacos/ {
        proxy_pass http://nacoscluster/nacos/;
    }
}

如果配置 nginx 遇到問題,可以參考這篇文章
Nginx 常見問題解決

Nacos 叢集的坑

微服務無法註冊到 Nacos

在 Nacos 叢集搭建完後,將微服務註冊到 Nacos 上,發現無法註冊上。

Nacos 叢集搭建

紅色的配置是自己配置的 Nacos 的節點,但是在服務啟動的時候,Nacos 預設新增上了一個節點,服務無法註冊到 Nacos。主要是因為原先的192.168.33.62的流量被髮送到了192.168.33.154

Nacos 叢集搭建

需要在 application.properties新增服務的ip地址

Nacos 叢集搭建

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章