linux环境搭建nacos集群详解

一、集群部署说明

官网集群部署:https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html

集群架构如下:

在这里插入图片描述

二、环境准备

搭建集群首先要具备JDK环境,其次需要,1个Nginx+3个nacos注册中心+1个mysql,集群按正常来说应该要具备三台服务器,我这里设备有限,就在一台机器上来搭建集群了!Nginx主要用他作为负载均衡。如果您也是一台Linux机器,Linux内存最少要4个G左右,不然可能会内存爆满,然后会导致Nacos启动不成功等问题!

  1. jdk环境:https://blog.csdn.net/weixin_43888891/article/details/126810947?spm=1001.2014.3001.5501
  2. 基于docker安装mysql:https://blog.csdn.net/weixin_43888891/article/details/113577006
  3. 创建Nacos数据库,并执行脚本(Nacos数据持久化到mysql),脚本文件:https://github.com/alibaba/nacos/blob/master/config/src/main/resources/META-INF/nacos-db.sql
  4. 安装Nginx:https://blog.csdn.net/weixin_43888891/article/details/122831636
  5. Nacos下载地址:https://github.com/alibaba/nacos/releases

在这里插入图片描述
6. 查看nginx是否启动成功:ps -ef | grep nginx

在这里插入图片描述

三、搭建Nacos集群

我这里用的是一台机器,假如你是三台机器,那么每一台都需要这么操作,切记每个nacos的cluster.conf要保持一致,并且application.properties当中指定的mysql数据库也都要是一致的。

第一步:上传解压:

  1. 创建存放nacos的文件夹:mkdir /opt/nacos
  2. 通过xftp上传tar包到/opt/nacos
  3. 解压:tar -zxvf nacos-server-2.1.1.tar.gz

第二步:修改application.properties,指定mysql持久化

  1. 修改配置文件:vi /opt/nacos/nacos/conf/application.properties ,Esc进入编辑状态
spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root
  1. :wq保存application.properties配置

第三步:指定集群的IP和端口

  1. 进入/opt/nacos/nacos/conf复制出cluster.conf:cp cluster.conf.example cluster.conf
  2. cluster.conf内容如下,在文件最下方修改即可(这里我用本机真实ip地址或者127.0.0.1,在后面均可正常启动,但还是推荐使用本机真实ip地址,如果使用127.0.0.1,在nacos页面的集群管理当中会出现两个节点,一个是127.0.0.1,一个是真实ip的!):vi cluster.conf 改完后 :wq保存cluster.conf配置

在这里插入图片描述

第四步:由于用的一台机器,而startup.sh并没有传入端口号的参数,所以手动加一个

编辑Nacos的启动脚本startup.sh,使它能够接受不同的启动端口(如果本身就是三台机器,可以跳过这一步)

  • /opt/nacos/nacos/bin:目录下有startup.sh,平时单机版的启动,都是./startup.sh即可。
  • 集群启动,我们希望可以类似其它软件的shell命令,传递不同的端口号启动不同的nacos实例。命令:./startup.sh -t 3333 表示启动端口号为3333的nacos服务器实例,和上一步的cluster.conf配置的一致。

一共需要修改两个地方,如下:vi startup.sh

在这里插入图片描述在这里插入图片描述

在这里插入图片描述

修改后:-Dserver.port=${PORT} 一定不要放错地方了,放到"$JAVA"后面

在这里插入图片描述

第五步:copy两个nacos

由于我们没有多台机器,只有一台,那我们一台机器启动多个nacos,在低版本当中支持一个nacos安装包多个启动,但是2.0以后版本是不支持的,不然会报错:Fail to init node, please see the logs to find the reason.,所以一切配置好之后直接copy两个文件: cp -r /opt/nacos/nacos /opt/nacos/nacos2

在这里插入图片描述

第六步:启动执行

sh /opt/nacos/nacos/bin/startup.sh -t 3333
sh /opt/nacos/nacos1/bin/startup.sh -t 4444
sh /opt/nacos/nacos2/bin/startup.sh -t 5555 
  1. 查看启动日志:tail -f /opt/nacos/nacos/logs/start.out
  2. 出现报错(没有出现报错的话忽略这一步):
    在这里插入图片描述
    • (1)查看哪个安装包包含该库:yum provides libstdc++.so.6
      在这里插入图片描述

    • (2)安装:yum install libstdc+±4.8.5-44.el7.i686

    • (3)停止nacos:ps -ef | grep nacos然后再kill -9 进程id 这时候再启动就不报错了!

四、调整Nginx的配置

在实际开发当中是可以使用Nginx集群的,当然我这里用的是单机Nginx

  1. 修改配置文件:vi /usr/local/nginx/conf/nginx.conf
  2. 在nginx.conf的http块加如下配置:
upstream cluster {
     server 127.0.0.1:3333;
     server 127.0.0.1:4444;
     server 127.0.0.1:5555;
 }

server {
     listen       1111;
     server_name  localhost;
     #charset koi8-r;
     #access_log  logs/host.access.log  main;
     location / {
         #root   html;
         #index  index.html index.htm;
         proxy_pass http://cluster;
	 }
}
  1. cd /usr/local/nginx/sbin
  2. 让配置生效:./nginx -s reload

防火墙相关设置:

  1. 查看是否开启防火墙:systemctl status firewalld
  2. 如果开启了,需要开放1111端口: firewall-cmd --zone=public --add-port=1111/tcp --permanent
  3. 重启防火墙:systemctl restart firewalld.service
  4. 查看已经开放的端口号:firewall-cmd --list-all

如果要开放的端口太多,嫌麻烦,可以关闭防火墙,安全性自行评估:systemctl stop firewalld.service

五、测试访问

http://192.168.1.104:1111/nacos

在这里插入图片描述

新建一个配置测试:

在这里插入图片描述

查看数据库:

在这里插入图片描述

微服务注册:

server:
  port: 9002

spring:
  application:
    name: nacos-payment-provider
  cloud:
    nacos:
      discovery:
        #配置Nacos地址
        #server-addr: localhost:8848
        # 换成nginx的1111端口,做集群
        server-addr: 192.168.111.144:1111


management:
  endpoints:
    web:
      exposure:
        include: '*'
  • 15
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
### 回答1: 要搭建Nacos集群,需要以下步骤: 1. 安装Java环境和MySQL数据库。 2. 下载Nacos的安装包,并解压到指定目录。 3. 修改Nacos配置文件,包括数据库连接信息、集群节点信息等。 4. 启动Nacos服务,并检查日志文件,确保服务正常启动。 5. 配置Nacos集群,包括节点间的通信、负载均衡等。 6. 启动Nacos集群,并检查各节点的日志文件,确保集群正常运行。 7. 配置Nacos客户端,使其能够连接到Nacos集群。 8. 测试Nacos集群的功能,包括服务注册、发现、配置管理等。 以上是搭建Nacos集群的基本步骤,具体操作可以参考Nacos官方文档或相关教程。 ### 回答2: Nacos是一个基于云原生的动态服务发现、配置管理和服务管理平台。它可以提供轻巧的分布式服务注册和配置管理解决方案,可以帮助开发团队快速搭建微服务架构。 在Linux操作系统上搭建Nacos集群需要以下步骤: 1. 安装Java环境 Nacos需要Java环境来运行,因此需要先安装Java环境。可以从Oracle官网下载Java安装包,选择对应的Linux版本进行安装。 2. 下载Nacos服务端 从Nacos官网下载Nacos服务端的tar.gz版本,解压到本地目录。 3. 配置Nacos集群 在每个节点上的conf文件夹下创建cluster.conf文件,将所有Nacos节点的IP地址和端口号写入其中,每个节点占一行。例如: 192.168.0.1:8848 192.168.0.2:8848 192.168.0.3:8848 4. 启动Nacos节点 在每个Nacos节点上运行startup.sh脚本,即可启动Nacos节点。 5. 确认集群状态 在任意一个节点上运行命令: sh ${nacos_home}/bin/nacos-cli.sh switch -t 30000 -g config 如果返回集群状态为OK,则说明集群已经搭建成功。 6. 访问Nacos Web控制台 在任意一个节点的浏览器中输入http://localhost:8848/nacos即可进入Nacos Web控制台,开始配置Nacos服务。 除此之外,还需要关注Nacos节点之间的通信是否正常,可以通过ping命令或者telnet命令进行测试。还可以对Nacos进行集群监控和故障排除,以确保Nacos服务的稳定性和可靠性。 ### 回答3: Nacos是阿里巴巴开源的一款服务发现和配置管理平台,而Linux是一个非常流行的开源操作系统。下面我们就来了解一下如何在Linux搭建Nacos集群。 在搭建Nacos集群之前,我们需要准备以下环境: 1.三台Linux服务器 2.JDK1.8及以上 3.Nacos安装包 具体步骤如下: 1.安装JDK 在每台服务器上安装JDK,并设置JAVA_HOME环境变量。 2.下载Nacos 从官网或者镜像网站上下载Nacos的安装包。 3.解压Nacos 将下载好的Nacos安装包解压到各自的服务器上,可以使用命令tar -xvf xxx.tar.gz来解压。 4.修改配置文件 进入解压后的Nacos目录,修改conf文件夹下的nacos-server-cluster.conf和cluster.conf文件,其中nacos-server-cluster.conf配置每个节点的ip地址、端口、用户名、密码等信息;cluster.conf配置集群中所有节点的信息。 5.启动节点 在每个节点上分别使用命令bin/startup.sh start来启动Nacos节点。 6.查看集群状态 使用curl命令来查看集群状态,如curl http://localhost:8848/nacos/v1/ns/raft/state,如果返回结果为"state":2,则表示集群状态正常。 通过以上步骤,就可以在Linux搭建一个Nacos集群,并实现服务发现和配置管理功能。总之,搭建Nacos集群还是比较简单的,只需要按照上面几个步骤进行操作即可。在实际项目中,Nacos集群还可以实现多节点负载均衡,提高系统的稳定性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

怪 咖@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值