侧边栏壁纸
博主头像
Epoch

Java开发、Python爬虫、微服务、分布式、前端

  • 累计撰写 92 篇文章
  • 累计创建 109 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Nacos的高可用部署

Epoch
2020-05-07 / 0 评论 / 0 点赞 / 236 阅读 / 815 字 / 正在检测是否收录...

目标:Nacos的高可用部署
工具:XShell、云服务器(或者虚拟机)、Nacos安装包
学习目标:部署Nacos

Nacos的高可用部署

Nacos提供了类似于ZooKeeper的集群架构,包含一个Leader和多个Follower节点,不同点就是他们的数据一致性算法不一样。

  1. 安装环境要求
  1. 64 bit OS Linux/Unix/Mac,推荐使用Linux系统。
  2. 64 bit JDK 1.8+; 具体操作见:https://segmentfault.com/a/1190000015389941
  3. Maven 3.2.x+;(这里暂时用不到)
  4. 3个或3个以上Nacos节点才能构成集群。
  • 安装包及环境准备
    准备三台服务器,我这里准备了Centos7.x系统
    我这里用的是最新的安装包: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目录下需要关注一下几个文件:

  • application.properties:SpringBoot项目默认配置文件
  • cluster.con.example:集群配置样例文件
  • nacos-mysql.sql:Mysql数据库脚本.Nacos支持Derby和MySql两种持久化机制,默认采用Derby数据库。如果采用Mysql,需要运行改脚本创建数据库和表
  • nacos-logback-xml:Nacos日志配置文件

配置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台机器中的nacos\conf下的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 获取日志信息,查看是否成功

%K3DV0CV2_G{4T`1FVV@(6N.png

随便启动访问任意一台机器的 http://xx.xx.xx.xx:8848/nacos 账号密码均为:nacos
访问Nacos控制台,在"节点列表"下可以看如下图的信息,表示当前集群由那些节点组成及节点状态。

B2RW7INNC8QXCD{VC8E.png


拜拜谢谢观看!

0

评论区