nacos集群(ubuntu)

下载、解压

wget -P /opt/downloads https://github.com/alibaba/nacos/releases/download/0.9.0/nacos-server-0.9.0.tar.gz
tar zxvf /opt/downloads/nacos-server-0.9.0.tar.gz -C /opt

复制到另外3个目录,本文在同一服务器上用8841,8842,8843这3个不同端口模拟nacos集群,前端放nginx进行负载均衡。

cp -r /opt/nacos /opt/nacos1
cp -r /opt/nacos /opt/nacos2
cp -r /opt/nacos /opt/nacos3

若是ubuntu系统,默认使用dash而不是bash,若执行startup.sh启动会报[[: not found

vim /opt/nacos1/bin/startup.sh
#!/bin/sh改成#!/bin/bash

赋予权限

chmod 777 /opt/nacos1/bin/startup.sh
chmod 777 /opt/nacos1/bin/shutdown.sh

若是standalone模式
启动

/opt/nacos1/bin/startup.sh -m standalone

集群模式搭建

端口有两种方式设置:

1.

vim /opt/nacos1/conf/application.properties

设置server.port=8848为server.port=8841

注:这里改为8841是为了在一台服务器上通过3个端口模拟集群,生产环境可以保持8848不变。

2.

vim /opt/nacos1/bin/startup.sh

在 # JVM Configuration 下方加入
JAVA_OPT="${JAVA_OPT} -Dserver.port=8841"
相当于设置java程序中System.getProperty("server.port")的值

增加支持MySQL数据源配置

vim /opt/nacos1/conf/application.properties

增加以下代码段,参数自行修改

spring.datasource.platform=mysql
db.num=1db.url.0=jdbc:mysql://localhost:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root

mysql脚本见:https://github.com/alibaba/nacos/blob/master/distribution/conf/nacos-mysql.sql
数据库建立(略)

修改cluster文件

touch /opt/nacos1/conf/cluster.conf
vim /opt/nacos1/conf/cluster.conf

内容加入:

192.168.1.102:8841
192.168.1.102:8842
192.168.1.102:8843

启动:

/opt/nacos1/bin/startup.sh或bash -f /opt/nacos1/bin/startup.sh

守护进程方式启动:

vim /lib/systemd/system/nacos8841.service

文件中填入

[Unit]
Description=nacos8841

[Service]
Type=forking
User=root
ExecStart=/opt/nacos1/bin/startup.sh
ExecStop=/opt/nacos1/bin/shutdown.sh
Restart=always
PrivateTmp=true
WorkingDirectory=/

[Install]
WantedBy=multi-user.target

添加权限

chmod 777 /lib/systemd/system/nacos8841.service

启用服务

systemctl enable nacos8841.service
systemctl daemon-reload

运行

systemctl start nacos8841.service

查看状态

systemctl status nacos8841.service

查看进程

netstat -anltp|grep 8841

集群模式至少3个节点
nacos2和nacos3做以上同等修改

nginx的安装见:
https://www.cnblogs.com/wintersoft/p/10537946.html

修改nginx配置

vim /opt/nginx/conf/nginx.conf

http节点内加入

upstream nacosserver {
  server 192.168.1.102:8841;
  server 192.168.1.102:8842;
  server 192.168.1.102:8843;
}

另外增加一个server节点

server {
    listen 8840;
    server_name 192.168.1.102;
    location /nacos/ {
        proxy_pass http://nacosserver/nacos/;
    }
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root html;
    }
}

目前只是单节点的nginx,在生产环境需实现高可用,可设置成多个keepalive+多个nginx;或网关+多个nginx;或云服务的负载均衡器。

猜你喜欢

转载自www.cnblogs.com/wintersoft/p/10538119.html