nacos集群(ubuntu)

Posted geek power

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nacos集群(ubuntu)相关的知识,希望对你有一定的参考价值。

下载、解压

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

 

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

cp -r /opt/nacos /opt/nacos-server-1
cp -r /opt/nacos /opt/nacos-server-2
cp -r /opt/nacos /opt/nacos-server-3

 

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

vim /opt/nacos-server-1/bin/startup.sh
#!/bin/sh改成#!/bin/bash

 

赋予权限

chmod 777 /opt/nacos-server-1/bin/startup.sh
chmod 777 /opt/nacos-server-1/bin/shutdown.sh

 

若是standalone模式
启动

/opt/nacos-server-1/bin/startup.sh -m standalone

 

 

集群模式搭建

端口有两种方式设置:

1.

vim /opt/nacos-server-1/conf/application.properties

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

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

 

2.

vim /opt/nacos-server-1/bin/startup.sh

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

 

增加支持mysql数据源配置

vim /opt/nacos-server-1/conf/application.properties

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

spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://localhost:3306/nacos_config?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/nacos-server-1/conf/cluster.conf
vim /opt/nacos-server-1/conf/cluster.conf

内容加入:

192.168.1.102:8841
192.168.1.102:8842
192.168.1.102:8843

 

启动:

/opt/nacos-server-1/bin/startup.sh或bash -f /opt/nacos-server-1/bin/startup.sh

 

守护进程方式启动:

vim /lib/systemd/system/nacos-server-8841.service

文件中填入

[Unit]
Description=nacos-server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/opt/nacos-server-1/bin/startup.sh
ExecStop=/opt/nacos-server-1/bin/shutdown.sh
Restart=always PrivateTmp=true

[Install]
WantedBy=multi-user.target

添加权限

chmod 777 /lib/systemd/system/nacos-server-8841.service

启用服务

systemctl enable nacos-server-8841.service
systemctl daemon-reload

运行

systemctl start nacos-server-8841.service

查看状态

systemctl status nacos-server-8841.service

查看进程

netstat -anltp|grep 8841

 

 

nacos-server-2和nacos-server-3做以上同等修改

 

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

 

 

修改nginx配置

vim /opt/nginx/conf/nginx.conf

http节点内加入

upstream nacosserver {
    server 192.168.1.101:8841;
    server 192.168.1.102:8841;
}

另外增加一个server节点

server {
    listen 8848;
    server_name 192.168.1.102;
access_log  logs/host.access.log  main; location
/nacos/ { proxy_pass http://nacosserver/nacos/; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }

 

 

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

 

 

nacos地址可以解析到一个域名下,防止服务器ip更换后不用挨着去修改配置(此处配置不是配置中心里的值)。

以上是关于nacos集群(ubuntu)的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu中结合Nginx配置nacos集群

Ubuntu中结合Nginx配置nacos集群

nginx集群nacos1.2.1配置mysql8

nginx集群nacos1.2.1配置mysql8

SpringCloud Nacos 注册中心 -- Nacos快速入门Nacos服务分级存储模型(集群)集群负载均衡策略 NacosRule

Nacos的那些事儿:集群搭建