1.本实验使用四台centos7主机,均关闭防火墙和selinux服务
2.数据库选择
不推荐使用nacos自带的嵌入式数据库derby,因为需要保证数据的一致性,本集群使用mysql数据库,因为nacos自带的嵌入式数据库derby是每个nacos服务一个数据库,集群中有三台nacos服务主机,就相当于有三个数据库,但是用mysql数据库的话就是三台主机公用一个数据库,如下图所示
3.主机配置如下图所示
主机 | IP | 端口 | 服务 |
A | 10.1.60.112 | 8848、3360 | nacos、mysql |
B | 10.1.60.114 | 8848 | nacos |
C | 10.1.60.115 | 8848 | nacos |
D | 10.1.60.80 | 8848 | nginx |
4.在A主机上安装mysql数据库 (一般都是独立主机安装,没有那么多主机,所以装在A上了)
参考:yum安装mysql 5.7_Apex Predator的博客-CSDN博客
5.安装jdk和maven环境(以下所有操作都要在A、B、C三台主机执行)
可参考官网:Nacos 快速开始
下载jdk1.8+安装包和maven3.2.x+安装包
下载安装jdk参考:jdk1.8环境配置_Apex Predator的博客-CSDN博客
下载安装maven参考:maven环境配置_设置maven环境_Apex Predator的博客-CSDN博客
6.从nacos官网下载nacos服务压缩包(官网是建议下载2.1.1版本)
建议使用浏览器下载后在拷贝到主机上,在主机上使用wget命令下载比较慢
安装包下载地址:Releases · alibaba/nacos · GitHub
在主机上新建nacos存放目录
mkdir /etc/nacos
将压缩包拷贝到nacos目录中
解压并删除压缩包
tar -zxvf nacos-server-2.1.1.tar.gz && rm -rf nacos-server-2.1.1.tar.gz
7.编辑nacos配置文件
cd /etc/nacos/nacos/conf
编辑数据库连接文件
vi application.properties
server.port=8848 #nacos服务需要修改端口就编辑此项即可,默认是8848
spring.datasource.platform=mysql #将此项注释取消即可,默认是注释
db.num=1 #将此项注释取消即可,默认是注释,数据库数量,有多个可填多个
db.url.0=jdbc:mysql://10.1.60.114:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC #将此项注释取消即可,默认是注释,数据库连接,修改ip地址即可,若是有多个数据库,可创建多个连接,只要前面的名称数字不相同即可
db.user=root #连接数据库的用户
db.password=Nfd@9527 #连接数据库的密码
将集群配置文件复制一份并重命名
cp cluster.conf.example cluster.conf
编辑集群配置文件
vi cluster.conf
#将文件自带ip的全部删除并新增以下内容,根据上面配置的端口填写
10.1.60.112:8848
10.1.60.114:8848
10.1.60.115:8848
8.配置数据库(只在主机A上执行)
进入数据库中
mysql -u root -p'Nfd@9527'
配置远程连接用户
grant all privileges on *.* to 'root'@'%' identified by 'Nfd@9527';
flush privileges;
创建名称为nacos的数据库,因为sql文件中没有建库语句,所以要先建一个nacos库
create database nacos;
将nacos服务的sql文件导入nacos数据库中
use nacos;
source /etc/nacos/nacos/conf/nacos-mysql.sql;
查看表是否导入成功
show tables;
查看初始用户
select * from users;
9.启动nacos服务
启动和关闭脚本都在bin目录下
默认是集群模式启动,占用内存2GB,非集群模式启动占用内存512MB
sh /etc/nacos/nacos/bin/startup.sh
根据启动提示查看start.out文件是否启动成功
cat /etc/nacos/nacos/logs/start.out
当三台主机nacos服务都启动后查看集群日志
tail -f /etc/nacos/nacos/logs/nacos-cluster.log
10.配置D主机对nacos访问做负载
vi /etc/nginx/conf.d/nacos.conf
upstream nacos {
server 10.1.60.112:8848;
server 10.1.60.114:8848;
server 10.1.60.115:8848;
}
server {
listen 8848;
server_name 127.0.0.1;
location / {
proxy_pass http://nacos;
}
}
重载nginx配置
nginx -s reload
11.测试访问nacos web
http://10.1.60.80:8848/nacos
初始用户名:nacos
初始密码:nacos