目标:Nacos的高可用部署 工具:XShell、云服务器(或者虚拟机)、Nacos安装包 学习目标:部署Nacos
Nacos提供了类似于ZooKeeper的集群架构,包含一个Leader和多个Follower节点,不同点就是他们的数据一致性算法不一样。
安装环境要求:
我这里用的是最新的安装包:nacos-server-1.2.1.tar.gz 官网下载链接: https://github.com/alibaba/nacos/releases 下载安装包,分别进行解压 tar -zxvf nacos-server-1.2.1.tar.gz 或者 unzip nacos-server-1.2.1.zip
如果unzip 无法使用 请执行 yum install -y unzip zip
解压后会得到五个文件夹:bin(服务启动/停止脚本)、conf(配置文件)、logs(日志)、data(derby数据库存储)、target(编译打包后的文件)
集群配置 在conf目录下需要关注一下几个文件:
配置Nacos集群需要用到cluster.conf文件(上面的样例文件去掉.example后缀): 配置信息如下:(填写你的服务器地址和端口号8848)
xx.xx.xx.xx:8848 xx.xx.xx.xx:8848 xx.xx.xx.xx:8848
这三台机器中的cluster.conf配置保持一致。由于这三台机器之前需要比彼此通讯,所以需要在部署的时候需要防火墙对外开放8848端口。具体操作如下(对于centos7.x而言)
firewall-cmd --zone=public --add-port=8848/tcp --permanent firewall-cmd --reload
配置MySQL数据库(mysql版本必须在5.6.5+) 数据库安装见: https://juejin.im/post/5d65fafd6fb9a06aec264eb0 去到你的一台服务器中创建一个新的数据库名字叫:nacos_config 执行nacos-mysql.sql初始化 分别修改3台机器中的nacosconf下的application.properties文件,增加MySQL的配置
datasource: spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://11.162.196.16:3306/nacos_config?
characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root db.password=root
启动服务
分别进入3台机器的安装目录下的bin目录,执行sh startup.sh 启动命令 启动成功后,在nacos安装目录下执行cat logs/start.out 获取日志信息,查看是否成功
随便启动访问任意一台机器的 http://xx.xx.xx.xx:8848/nacos 账号密码均为:nacos 访问Nacos控制台,在"节点列表"下可以看如下图的信息,表示当前集群由那些节点组成及节点状态。