基于docker容器搭建nacos集群(3节点)

一、安装前准备

本文所需文件免费下载地址:

1.1、服务器准备

Nacos集群搭建需要三个或三个以上的nacos节点才能构成集群,因此至少需要三台服务器资源,本次搭建沿用redis集群搭建和rocketmq集群搭建的三个容器充当三台服务器资源。

服务器资源

Ip端口

10.25.27.116

8848

10.25.27.117

8848

10.25.27.118

8848

192.168.200.129(宿主机,充当mysql数据库资源机)

3306

1.2、安装软件准备

序号

软件名称

功能用途

1

nacos-server-1.4.1

注册/配置中心

2

mysql

进行数据存储

3

nginx-1.17.0

负载均衡器

4

pcre-8.37

nginx依赖组件

5

zlib

nginx依赖组件

6

openssl

nginx依赖组件

7

gcc,gcc-c++

nginx,pcre依赖组件

二、软件安装

2.1、安装编译软件

1、gcc,gcc-c++安装(root操作)

检测gcc是否安装了,通过命令查看服务器gcc安装情况及版本,如果显示没有安装,则进行安装。

#查看gcc版本
gcc --version
g++ --version

# 或者
rpm -qa | grep gcc

# 安装
yum install gcc,gcc-c++
2、Zlib安装

同gcc一样,先检查是否安装了,如果没有安装再进行安装

# 查看安装情况
rpm -qa | grep zlib
# 安装
yum install zlib-devel
3、Openssl安装

同gcc一样,先检查是否安装了,如果没有安装再进行安装

# 查看安装情况
rpm -qa | grep openssl
# 安装
yum install openssl-devel

注意:如果使用yum安装失败或者下载速度慢,可以修改yum源为阿里巴巴的,具体操作步骤自行百度。

2.2、nacos安装

1、上传安装包到software目录下,并进入software目录

cd /home/test01/software

2、解压安装包到目录/home/test01/

tar -zxvf nacos-server-1.4.1.tar.gz -C /home/test01/

2.3、修改配置集群文件

1、进入/home/test01/nacos/conf,复制cluster.conf.example为cluster.conf

cd /home/test01/nacos/conf
cp cluster.conf.example cluster.conf

2、编辑cluster.conf配置集群参数

# 进入目录
cd /home/test01/naocs/conf

# 编辑cluster.conf文件,在后面添加节点配置(根据实际网址填写ip)
vim cluster.conf
#添加内容如下
10.25.27.116:8848
10.25.27.117:8848
10.25.27.118:8848

2.4、初始化nacos所需数据库

本次为了方便直接使用宿主机的mysql数据库(宿主机之前装过,懒得再装一遍了,并且安装mysql也不是本篇文章的重点),有需要的可以单独创建一个docker容器作为mysql的安装服务器。无论mysql安装在哪里,都需要保证安装nacos的服务器能连接到myslq的ip地址。

# 在三台资源服务器上测试mysqlIP的连通性。
ping 192.168.200.129

使用数据库工具连接准备好的数据库,新建数据库nacos_config_cluster,然后执行/home/test01/nacos/conf目录下的nacos-mysql.sql数据库脚本,创建对应的几张表。

使用 Docker Compose 启动多节点es集群 docker多节点部署_nacos集群

2.5、配置连接数据库

修改nacos/conf目录下的application.properties文件,在尾部追加一下内容:

# 尾部追加以下内容(根据实际情况连接数据库)
spring.datasource.platform=mysql #使用mysql方式持久化
db.num=1
#ip、端口号、数据库名根据自己情况进行修改。
db.url.0=jdbc:mysql://192.168.200.129:3306/nacos_config_cluster?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
#数据库连接用户名
db.user=XXXX
#数据库连接密码
db.password=XXXXXX

三、依次启动三个nacos节点

使用scp将116配置好的nacos复制到另外两台服务器

scp -r test01@10.25.27.116:/home/test01/nacos ./

启动nacos

cd /home/test01/nacos/bin

./startup.sh

#查看当前服务器节点数
ps -ef|grep nacos|grep -v grep|wc -l

注意:觉得启动后jvm占用内存大的,可以修改startup.sh文件中的jvm启动参数。

四、采用nginx负载均衡器(116服务器)

4.1、安装nginx依赖组件pcre

上传安装包到/home/test01/software目录下。

# 解压安装包
tar -zxvf pcre-8.37.tar.gz
# 进入目录
cd pcre-8.37
# 执行configure
./configure
# 编译
make
# 安装,目录创建失败可以使用root用户
make install
# 查看版本
pcre-config --version

4.2、安装nginx

上传安装包到/home/test01/software目录下。

# 解压安装包
tar -zxvf nginx-1.17.0.tar.gz
# 进入目录
cd nginx-1.17.0
# 执行configure
./configure --prefix=/home/test01/nginx
# 编译并安装
make && make install

4.3、修改nginx的配置conf

进入/home/test01/nginx/conf目录下编辑nginx.conf文件,在http{ 后面修改或添加如下配置

upstream cluster{
# ip地址根据自己实际情况配置
	server 10.25.27.116:8848;
	server 10.25.27.117:8848;
	server 10.25.27.118:8848;
}
server {
    listen       8012;
    server_name  localhost;
    location / {
        proxy_pass http://cluster;
    }
}

4.4、启动或刷新nginx

/home/test01/nginx/sbin/nginx -c /home/test01/nginx/conf/nginx.conf

116容器开启8012端口映射,映射到宿主机的8012端口。具体详情见上篇文章或者自行百度。

浏览器中输入宿主机地址访问nginx: http://192.168.200.129:8012/nacos,账号密码初始都是nacos,点击集群查看nacos集群状态。

使用 Docker Compose 启动多节点es集群 docker多节点部署_nginx_02