全部nacos笔记地址
nacos笔记(一)单机版
nacos笔记(二)注册中心
nacos笔记(三)配置中心
nacos笔记(四)集群与持久化
使用Mysql持久化
mysql的安装过程就不介绍了,版本用的是5.7.29,系统ubuntu18.04
Nacos 使用的是1.3.0版本
linux下nacos安装过程:nacos笔记(一)单机版
要使用mysql来存数据,那么肯定需要有一个数据库和相应的表,获取数据库脚本有两种途径
- 从官方文档提供的github地址 sql语句源文件
- 从自己解压出的nacos文件夹下找到
conf/nacos-mysql.sql
文件
我是用的解压出来的文件,保证数据库脚本和nacos的版本一致,然后就要开始初始化数据库了
连接到mysql后先建库,我就按照配置文件里面注释写的名字建了
CREATE TABLE nacos_config;
USE nacos_config;
然后再将nacos-mysql.sql
文件的内容复制过来执行
现在我们已经初始化了数据库,那么接下来就该配置nacos了
官方文档截图
根据官网给的例子,我的配置如下
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456
上面的配置直接贴到 config/application.properties
文件最后面,注意保存之前把数据库地址还有账号密码改成自己的。
配置保存就可以重新启动nacos了
启动成功后,去到nacos的控制台,这个在nacos笔记(一)单机版里面已经介绍过了
启动后发现一个bug
刚打开的时候整个界面只有左侧菜单,菜单对应的主界面都没有了
启动一个服务注册进去就好了
有界面以后新建一个配置试一下
发布后到数据库查一下 config_info
表,nacos已经成功从内置的derby数据库换到外部的mysql了
集群配置
先来 看一下官网的集群介绍 集群部署说明
这个图就很有灵性了,估计一大帮人不理解这个vip是啥,其实就是虚拟ip,virtual ip
这个虚拟ip我们这里使用nginx的反向代理和负载均衡来实现
nacos要做集群肯定是数据先写到外部的数据库,否则每个节点都用内置的数据库,那处理起来可够麻烦的,而且维护时想查看数据也够费劲的
所以实际生产环境的架构是最上层是nginx集群,为nacos集群做负载均衡,然后nacos的数据写到外部的mysql集群
我这里就不做mysql的集群了,把nacos的集群搭建起来
搭建nacos集群
我这里使用三台ubuntu的虚拟机,先把他们都设置成静态ip
ubuntu18.04设置静态ip地址(简单版)个人学习使用
然后根据官方文档的介绍
在我安装的nacos目录下我没有找到 cluster.conf ,但是有 cluster.conf.example,所以在这个目录复制一个出来
命令:cp cluster.conf.example cluster.conf
已经有了文件,接下来就是修改了
vim cluster.conf
可以看见是有一些例子的,全都不要,直接删掉,改成我三台虚拟机设置好的静态ip,注意这里需要写自己的系统对外暴露的IP地址,不可以用localhost和127.0.0.1
三台都修改成一样的,然后保存
外部数据源配置
数据源就用外部的单机版mysql了,使用本篇最上面介绍的方法配置,三台虚拟机的nacos都指定到同一个mysql上就可以了
使用nginx反向代理
由于这篇主要写nacos的集群搭建,nginx和mysql就都用单机版的了
1、nginx安装:
sudo apt-get install nginx
2、安装完先杀掉nginx的进程
netstat -ntlp
命令查看端口占用,如果像下图一样有nginx字样,就先kill掉,我这是kill 3057
3、修改nginx的配置文件
使用apt-get命令安装后nginx的文件会存在下面几个地方
- /usr/sbin/nginx:主程序
- /etc/nginx:存放配置文件
- /usr/share/nginx:存放静态文件
- /var/log/nginx:存放日志
用vim /etc/nginx/nginx.conf
命令来编辑配置文件,添加以下配置
注意在http节点里面添加
upstream cluster{ #三个nacos的地址
server 192.168.0.201:8848;
server 192.168.0.202:8848;
server 192.168.0.203:8848;
}
#配反向代理监听
server{
listen 80;
server_name 192.168.0.201; #nginx所在机器的地址
location / {
proxy_pass http://cluster;
}
}
到这里就全部的准备工作就已经完成了,下面该试试好不好使了
启动并测试
1、使用 nginx -c /etc/nginx/nginx.conf
命令启动nginx
2、启动nacos集群
直接使用官方文档提供的命令sh /usr/local/nacos/bin/startup.sh
来启动,会报一些错误,但是并不影响使用,可是仍然让人不舒服
使用如下命令来启动
bash /usr/local/nacos/bin/startup.sh
就不会出现这些not found的错误了
3、最后来测试一下
因为nginx监听的是80端口,所以直接访问下面地址看能否转发到naocs
http://192.168.0.201/nacos/index.html
正常跳转到登录界面没有问题,账号密码都是nacos,登陆一下看看
可以看到我之前写的配置也都在,最后再到集群管理看看
三台机器都在里面了,大功告成,最后再测试一下服务注册与配置是否成功
改一下之前的项目,配置中心和注册中心都指定到nginx监听的端口上
改了两个服务就不都截图了,可以看到都注册成功了
配置也能正确读取到
添加配置什么的就自行测试吧
至此,nacos的集群搭建就全部完成了