官方文档地址:https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html
官方推荐集群部署方式:
1、http://ip1:port/openAPI 直连ip模式,机器挂则需要修改ip才可以使用。
2、http://SLB:port/openAPI 挂载SLB模式(内网SLB,不可暴露到公网,以免带来安全风险),直连SLB即可,下面挂server真实ip,可读性不好。
3、http://nacos.com:port/openAPI 域名 + SLB模式(内网SLB,不可暴露到公网,以免带来安全风险),可读性好,而且换ip方便,推荐模式
官方文档中教程不够详细,下面开始详细搭建环境:
一、环境准备:
1、64 bit OS Linux/Unix/Mac,推荐使用Linux系统
2、64 bit JDK 1.8+
3、Maven 3.2.x+ (具体安装方法网上很多,在此不详细介绍)
4、3个或3个以上Nacos节点才能构成集群
二、安装包下载:
地址:https://github.com/alibaba/nacos/releases 下拉找到需要的版本下载
三、Mysql配置:
如果使用内置数据源,则可以略过此步骤。
在此我们使用外置数据源,生产使用建议至少主备模式,或者采用高可用数据库。
此处为方便起见,就使用mysql一个节点进行配置
- 新建数据库,执行nacos-server-1.4.1.tar.gz包下nacos/conf/nacos-mysql.sql文件,得到如下图所示内容即可
四、Nacos安装与配置:
三台服务器地址:172.22.9.171、172.22.9.172、172.22.9.173,每台服务器配置过程完全一样,此处只举例一台
# 解压缩 tar -xvzf nacos-server-1.4.1.tar.gz -C /opt/ # 复制配置文件 cd /opt/nacos/conf/ cp cluster.conf.example cluster.conf # 集群文件中增加服务器节点信息 vi cluster.conf
# 修改配置文件中数据源信息 vi application.properties
...
#*************** Spring Boot Related Configurations ***************# ### Default web context path: server.servlet.contextPath=/nacos ### Default web server port: server.port=8848
...
#*************** Config Module Related Configurations ***************# ### If use MySQL as datasource: spring.datasource.platform=mysql ### Count of DB: db.num=1 ### Connect URL of DB: db.url.0=jdbc:mysql://172.22.9.37:3306/dev_nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user.0=dev db.password.0=dev ### Connection pool configuration: hikariCP db.pool.config.connectionTimeout=30000 db.pool.config.validationTimeout=10000 db.pool.config.maximumPoolSize=20 db.pool.config.minimumIdle=2
...
如上图所示,截取部分配置文件片段,红色部分需要自行配置,对应步骤三种mysql数据源
五、Nacos开机自启动配置:
# 创建nacos服务文件 touch /lib/systemd/system/nacos.service # 编辑文件 vi /lib/systemd/system/nacos.service
写入自启动配置
[Unit] Description=nacos After=network.target [Service] Type=forking ExecStart=/opt/nacos/bin/startup.sh ExecReload=/opt/nacos/bin/shutdown.sh ExecStop=/opt/nacos/bin/shutdown.sh PrivateTmp=true [Install] WantedBy=multi-user.target
修改 /opt/nacos/bin/startup.sh 文件中jdk路径,此处需对应自己服务器上的jdk路径,使用$JAVA_HOME似乎读取不到,所以直接写了绝对路径
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/local/jdk1.8.0_191/ #[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java #[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java #[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/opt/taobao/java #[ ! -e "$JAVA_HOME/bin/java" ] && unset JAVA_HOME
更新自启动配置,启动nacos集群
systemctl daemon-reload
systemctl enable nacos.service
systemctl start nacos.service
systemctl status nacos.service
六、查看Nacos集群情况:
浏览器打开地址:http://172.22.9.172:8848/nacos/ 用户名密码默认:nacos/nacos (之前配置的数据库中users表中)
七、通过Nginx配置集群:
待更新