前言

nacos源自阿里的开源项目,可以充当分布式的微服务注册中心、配置中心,可想而知它的地位非常重要,非常重要,非常重要,但是nacos官网介绍的集群部署过于简单,其实在搭建nacos集群的过程中(和单机版是有一些区别的),尤其是对于新手还是有一些坑要采,在这里记录一下踩坑的过程,可以供大家参考,这个也是为了后面的springCloud准备的

1. 准备mysql数据库

nacos的持久化目前只支持mysql数据库的,对于nacos来说mysql数据库也是完全够用的,mysql环境可以参考docker搭建nacos集群的mysql数据库部分
这里就不做过多说明了

2. 准备nacos压缩包

本次使用的是nacos-server-1.4.1.tar.gz版本,这个版本的mysql数据库驱动jar包是8.0.16版本,所以我这次打算连接mysql8+以上的版本,就不再考虑mysql5.7版本了

(1)下载nacos

下载nacos-server-1.4.1.tar.gz到 /usr/local/src目录下

(2)创建集群节点目录
mkdir /usr/local/src/nacoscluster
cd /usr/local/src/nacoscluster
mkdir node1 node2 node3
cp  /usr/local/src/nacos-server-1.4.1.tar.gz  /usr/local/src/nacoscluster
tar -zxvf  /usr/local/src/nacos	luster/nacos-server-1.4.1.tar.gz
(3)修改集群配置文件

修改cluster.conf文件:

cp /usr/local/src/nacos/conf/cluster.conf.example   /usr/local/src/nacos/conf/cluster.conf
vim /usr/local/src/nacos/conf/cluster.conf
加上下面三行保存退出:
192.168.227.45:8551
192.168.227.45:8552
192.168.227.45:8553

修改application.properties文件:

vim /usr/local/src/nacoscluster/nacos/conf/application.properties
server.port=8551
db.num=1
db.url.0=jdbc:mysql://192.168.227.45:3309/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC
db.user.0=root
db.password.0=root

注意:这里配置数据库的db.url.0的值一般没有加allowPublicKeyRetrieval=true,启动nacos时会报错

修改startup.sh文件(两处):

export SERVER="nacos-server"
export MODE="cluster"
export FUNCTION_MODE="all"
export PORT="8848"
while getopts ":m:f:s:p:" opt
do
    case $opt in
        m)
            MODE=$OPTARG;;
        f)
            FUNCTION_MODE=$OPTARG;;
        s)
            SERVER=$OPTARG;;
        p)
            PORT=$OPTARG;;
        ?)
        echo "Unknown parameter"
        exit 1;;
    esac
done

nohup $JAVA -Dserver.port=${PORT} ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &

注意:这两个地方一定要修改,否则nacos启动时会报Unable to start Embedded tomcat

修改shutdown.sh文件

# 新加内容
PORT=$1
if [ ! $PORT ]; then
  echo "please select stop port!" >&2
  exit 1
fi
 
# 添加PORT过滤
pid=`ps ax | grep -i 'nacos.nacos' |grep java |grep ${PORT} | grep -v grep | awk '{print $1}'`

3. 复制nacos到每个节点目录

cp  /usr/local/src/nacos/*   /usr/local/src/nacoscluster/node1/
cp  /usr/local/src/nacos/*   /usr/local/src/nacoscluster/node2/
cp  /usr/local/src/nacos/*   /usr/local/src/nacoscluster/node3/

4. 修改server.port

只需要修改node2和node3的application.properties中的server.port分别为8552,8553
在这里插入图片描述

5. 启动nacos

启动nacos实例:
sh /usr/local/src/nacoscluster/node1/bin/startup.sh -p 8551
sh /usr/local/src/nacoscluster/node2/bin/startup.sh -p 8552
sh /usr/local/src/nacoscluster/node3/bin/startup.sh -p 8555
查看日志:
tail -f /usr/local/src/nacoscluster/node1/logs/start.out
tail -f /usr/local/src/nacoscluster/node2/logs/start.out
tail -f /usr/local/src/nacoscluster/node3/logs/start.out

如果启动日志显示如下,说明nacos集群启动成功
node1启动日志
在这里插入图片描述
node2启动日志
在这里插入图片描述
node3启动日志
在这里插入图片描述

6. 登录nacos

依次访问以下地址,输入用户名:nacos, 密码:nacos
192.168.227.45:8551/nacos
192.168.227.45:8552/nacos
192.168.227.45:8553/nacos

在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐