Nacos的集群和持久化

目录

文章目录

前言

 一、Nacos持久化

        1.1 为什么要配置Nacos持久化

        1.2配置nacos持久化步骤

        1.3 初始化数据库

               1.3.1 导入数据库      

二、集群   

        2.1 部署架构图

         2.2 节点规划

        2.3 集群搭建

               2.3.1 找到conf/cluster.conf.example ,将其改名为 conf/cluster.conf ,并将内容改为如下:

​编辑

                2.3.2复制三份Nacos

                2.3.3 分别把三份Nacos中 将conf/application.properties 中的端口号改为对应的端口号:

      2.3.4 测试

        2.4 安装nginx

                2.4.2 配置nginx代理nacos

三 Nacos开机自启

        3.1.编写开机启动文件

        3.2.修改nacos的startup.sh

     3.3.设置开机启动



前言

例如:Nacos的集群和持久化


 一、Nacos持久化

        1.1 为什么要配置Nacos持久化

                Nacos默认有自带嵌入式数据库derby,但是如果做集群模式的话,就不能使用自己的数据库不然每个节点一个数据库,那么数据就不统一了,需要使用外部的mysql

        1.2配置nacos持久化步骤

                修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql,版本要求:5.6.5+)

### If use MySQL as datasource:
spring.datasource.platform=mysql   #使用的数据库

### Count of DB:
db.num=1

### Connect URL of DB:
db.url.0=jdbc:mysql://192.168.184.128:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC   #数据库的地址
db.user.0=root  #数据库的账户
db.password.0=1111  #数据库的密码

        1.3 初始化数据库

               1.3.1 导入数据库      

                nacos为我们提供了初始化的mysql脚本。
                在nacos根目录下的/conf/nacos-mysql.sql
                我们先要在我们的mysql库里创建一个叫nacos的数据库
                然后把脚本导入到这个库里就可以了。

Nacos的集群和持久化_第1张图片

具体案例请看:SpringCloud讲解&注册中心&配置中心_一只小阿辉的博客-CSDN博客

重启nacos测试nacos所有写到嵌入式数据库的数据是否都写到了mysql:  

Nacos的集群和持久化_第2张图片

二、集群   

        2.0 什么是集群,集群的作用

         集群多台服务器组成的一组计算机,作为一个整体存在,向用户提供一组网络资源,这些单个的服务器就是集群的节点。

        集群的作用和意义:可扩展性、高可用性、负载均衡、错误恢复等。

集群拥有以下两个作用:

1、可扩展性:集群的性能不限于单个服务实体,可以动态地将新的服务实体添加到群集中,以提高群集性能。

2、高可用性:当集群的一个节点失败时,在该节点上运行的应用程序将自动在另一个节点上被接管。消除单个故障对于提高数据可用性、可访问性和可靠性非常重要。

       

        2.1 部署架构图

 Nacos的集群和持久化_第3张图片

         2.2 节点规划

节点 端口
192.168.184.131 8848
192.168.184.131 8849
192.168.184.131 8850

        2.3 集群搭建

               2.3.1 找到conf/cluster.conf.example ,将其改名为 conf/cluster.conf ,并将内容改为如下:

Nacos的集群和持久化_第4张图片

 # ip:port
192.168.184.131:8848
192.168.184.131:8849
192.168.184.131:8850

                2.3.2复制三份Nacos

 [root@localhost bin]# cd /usr/local
[root@localhost local]# mkdir nacos_cluster
[root@localhost local]# cp -r nacos nacos_cluster/nacos_8848
[root@localhost local]# cp -r nacos nacos_cluster/nacos_8849
[root@localhost local]# cp -r nacos nacos_cluster/nacos_8850

 Nacos的集群和持久化_第5张图片

                2.3.3 分别把三份Nacos中 将conf/application.properties 中的端口号改为对应的端口号:

server.port=8848
server.port=8849
server.port=8850

Nacos的集群和持久化_第6张图片

      2.3.4 测试

                2.3.4.1 启动三台nacos

[root@localhost upload]# cd /usr/local/nacos_cluster/nacos_8848/bin
[root@localhost bin]# ./startup.sh
[root@localhost bin]# cd /usr/local/nacos_cluster/nacos_8849/bin
[root@localhost bin]# ./startup.sh
[root@localhost bin]# cd /usr/local/nacos_cluster/nacos_8850/bin
[root@localhost bin]# ./startup.sh

Nacos的集群和持久化_第7张图片

Nacos的集群和持久化_第8张图片 Nacos的集群和持久化_第9张图片

        2.4 安装nginx

  • 安装nginx的依赖库

yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

  • 下载nginx

wget -c https://nginx.org/download/nginx-1.12.0.tar.gz

  • 解压安装包

  • tar -zxvf nginx-1.12.0.tar.gz

配置nginx安装包

cd nginx-1.12.0 ​

./configure --prefix=/usr/local/nginx  #安装的目录

注意:./configure配置nginx安装到/usr/local/nginx目录下

  • 编译并安装

make && make install

                2.4.2 配置nginx代理nacos

Nacos的集群和持久化_第10张图片

代码如下:

upstream nacos {
  server 192.168.184.131:8848;
  server 192.168.184.131:8849;
  server 192.168.184.131:8850;
}

server {
  listen 80;
  server_name  localhost;
  location / {
    proxy_pass http://nacos;
  }
}

 启动nginx

[root@localhost nginx]# cd /usr/local/nginx/sbin/
[rNacos的集群和持久化_第11张图片oot@localhost sbin]# ./nginx

启动nacos服务,并访问(通过nginx分配给nacos)

Nacos的集群和持久化_第12张图片

三 Nacos开机自启

        3.1.编写开机启动文件

  • 添加nacos.service文件

vim /lib/systemd/system/nacos.service

  • 文件内容如下:

[Unit]
Description=nacos
#网络启动之后在在启动nacos
After=network.target 
​
[Service]
#守护线程
Type=forking
ExecStart=/usr/local/nacos/bin/startup.sh -m standalone
ExecReload=/usr/local/nacos/bin/shutdown.sh
ExecStop=/usr/local/nacos/bin/shutdown.sh
#临时空间是私有的
PrivateTmp=true
​
[Install]
#所有用户都可以用
WantedBy=multi-user.target

        3.2.修改nacos的startup.sh

  • 修改JAVA_HOME路径并注销之后的3行配置,如下:

[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/local/jdk1.8.0_191 
#[ ! -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

     3.3.设置开机启动

systemctl daemon-reload        #重新加载服务配置
systemctl enable nacos.service #设置为开机启动
systemctl start nacos.service  #启动nacos服务
systemctl stop nacos.service   #停止nacos服务

你可能感兴趣的:(java,开发语言,微服务)