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_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
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
4、如果出现内存不足
修改启动脚本 (bin\startup.sh) 的 jvm 参数
JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
5、启动测试
$ sh bin/startup.sh
$ vim logs/start.log
启动成功
访问 192.168.33.62:8849/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。主要是因为原先的192.168.33.62
的流量被发送到了192.168.33.154
上
需要在 application.properties
添加服务的ip地址
本作品采用《CC 协议》,转载必须注明作者和本文链接