Nacos高可用集群搭建+MySQL持久化

Nacos高可用集群搭建+MySQL持久化

之前讲述了Nacos单机版的简单安装,详情请参阅 Nacos之单机版安装 或者参考 官网,本文将进一步搭建一个生产可用级别的Nacos高可用集群,并使用MySQL数据库实现数据的持久化。

架构图

下面使官方推荐的搭建模式:
在这里插入图片描述
本文使用Nginx来承担VIP的责任,复制负载均衡。

环境要求

  • 64 bit JDK1.8+;
  • 64 bit OS(本文CentOS 7.4);
  • Maven 3.2+(不打包可不需要);
  • 3个或以上的Nacos节点,3个以上才能构成集群;

下载安装包

请参阅Nacos之安装,下载对应的安装包,上传至 /usr/local/src,本文使用的1.1.4版本:
在这里插入图片描述
解压后复制到/usr/local/nacos_cluster,分别命名为nacos1nacos2nacos3

[root@localhost src]# unzip nacos-server-1.1.4.zip
[root@localhost src]# cp nacos /usr/local/nacos_cluster/nacos1 -R
[root@localhost src]# cp nacos /usr/local/nacos_cluster/nacos2 -R
[root@localhost src]# cp nacos /usr/local/nacos_cluster/nacos3 -R

在这里插入图片描述

数据库配置

真正生产环境建议至少主备模式,或采用高可用数据库。具体可以参考这篇文章:MySQL高可用方案选型参考。本文主角是Nacos,这里使用单机版MySQL。

新建数据库nacos_config,然后执行nacos/conf目录下的nacos-mysql.sql,创建以下几张表:
在这里插入图片描述

集群配置

进入/usr/local/nacos_cluster1/nacos,复制cluster.conf.examplecluster.conf

cp cluster.conf.example cluster.conf

修改cluster.conf内容如下:

127.0.0.1:8847
127.0.0.1:8848
127.0.0.1:8849

然后复制cluster.conf到nacos2和nacos3的conf下,当然你也可以分别去修改:

[root@localhost conf]# cp cluster.conf /usr/local/nacos_cluster/nacos2/conf/cluster.conf
[root@localhost conf]# cp cluster.conf /usr/local/nacos_cluster/nacos3/conf/cluster.conf

我们这里在一台机器上部署3个不同端口的Nacos节点。生产环境,建议多个主机。

修改nacos/conf目录下的application.properties文件:

server.port=8847 # 这里nacos1、naocs2、nacos3分别修改为8847、8848、8849,不要重复了。

# 尾部追加以下内容
spring.datasource.platform=mysql # 使用MySQL方式持久化
db.num=1 # 这里宝石几个数据库实例,多个的话,下边依次是`db.url.0`, `db.url.1` etc
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=root # 密码

如果启动失败,可能是内存不够用的,比如我的虚拟机就只设置了1g,启动的时候就报内存不够分配的异常。可以进入nacos1/bin下,修改startup.sh,调整为合适的大小:
在这里插入图片描述
依次启动3个Nacos节点:

[root@localhost nacos_cluster]# ./nacos1/bin/startup.sh
[root@localhost nacos_cluster]# ./nacos1/bin/startup.sh
[root@localhost nacos_cluster]# ./nacos1/bin/startup.sh

Output:

nacos is starting with cluster
nacos is starting,you can check the /usr/local/nacos_cluster/nacos1/logs/start.out

查看一下nacos节点个数:

[root@localhost nacos_cluster]# ps -ef|grep nacos|grep -v grep|wc -l
3

Nginx代理

安装nginx这里不再赘述,请自行Google搜索。
修改nginx的配置conf,添加一下内容:

upstream cluster{
    server 127.0.0.1:8847;
    server 127.0.0.1:8848;
    server 127.0.0.1:8849;
}

server {
    listen  8800;
    server_name localhost;
    location / {
        proxy_pass http://cluster;
    }
}

然后启动或者刷新Nginx:

[root@localhost nginx]# ./sbin/nginx -s reload
ngx_http_fastdfs_set pid=11240

访问测试

打开浏览器访问:http://192.168.0.14:8800/nacos/
在这里插入图片描述
登录(账号密码都是nacos),创建一个测试配置:
在这里插入图片描述
我们去数据库查询一下我们新添加的测试配置信息:
在这里插入图片描述
OK. 至此,Nacos集群+MySQL持久化的搭建就完成了。

因个人能力有限,如果不足或错误之处,欢迎指正 ~

发布了61 篇原创文章 · 获赞 176 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/E09620126/article/details/105099583