目录

  • 一、集群部署说明
  • 二、环境准备
  • 三、搭建Nacos集群
  • 四、调整Nginx的配置
  • 五、测试访问

一、集群部署说明

官网集群部署: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=mysqldb.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: 9002spring:application:name: nacos-payment-providercloud:nacos:discovery:#配置Nacos地址#server-addr: localhost:8848# 换成nginx的1111端口,做集群server-addr: 192.168.111.144:1111management:endpoints:web:exposure:include: '*'

linux环境搭建nacos集群详解相关推荐

  1. 搭建Tomcat集群详解

    一.为什么需要Tomcat集群 Tomcat的最大并发数是可以配置的,实际运用中,最大并发数与硬件性能和CPU数量都有很大关系的.更好的硬件,更多的处理器都会使Tomcat支持更多的并发. Tomca ...

  2. linux搭建spark集群,详解Spark+Zookeeper搭建高可用Spark集群

    Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎:现在形成一个高速发展应用广泛的生态系统. Spark三种分布式部署方式比较 目前Apache Spark支持三种分布式部署方式, ...

  3. linux下搭建zookeeper集群

    linux下搭建zookeeper集群 1.准备 1.下载zookeeper压缩包 (注:下载3.4.14版本,3.5以上运行时会少jar包) 2.系统:centOS7 安装好java环境 3.将压缩 ...

  4. 环境搭建-CentOS集群搭建

    环境搭建-CentOS集群搭建 写在前面 最近有许多小伙伴问我,大数据的hadoop分布式集群该如何去搭建.所以,想着,就写一篇博客,帮助到更多刚入门大数据的人.本博客会一步一步带你实现一个Hadoo ...

  5. docker compose搭建NACOS集群

    使用docker搭建NACOS集群 SpringCloud Alibaba,必然会使用Nacos进行服务注册与配置管理.然而,在实际的生产环境中,使用单服务器搭建nacos服务器是十分危险的,如若发生 ...

  6. 环境搭建-Hadoop集群搭建

    环境搭建-Hadoop集群搭建 写在前面,前面我们快速搭建好了centos的集群环境,接下来,我们就来开始hadoop的集群的搭建工作 实验环境 Hadoop版本:CDH 5.7.0 这里,我想说一下 ...

  7. docker环境搭建redis-cluster集群(多台机器)

    docker环境搭建redis-cluster集群(多机) Docker多台主机安装Redis集群 Docker安装Redis Cluster 三主三从

  8. 融云发送自定义消息_数据源管理 | Kafka集群环境搭建,消息存储机制详解

    一.Kafka集群环境 1.环境版本 版本:kafka2.11,zookeeper3.4 注意:这里zookeeper3.4也是基于集群模式部署. 2.解压重命名 tar -zxvf kafka_2. ...

  9. 数据源管理 | Kafka集群环境搭建,消息存储机制详解

    本文源码:GitHub·点这里 || GitEE·点这里 一.Kafka集群环境 1.环境版本 版本:kafka2.11,zookeeper3.4 注意:这里zookeeper3.4也是基于集群模式部 ...

  10. ElasticSearch搭建集群详解

    Elasticsearch如果做集群的话Master节点至少三台服务器或者三个Master实例加入相同集群,三个Master节点最多只能故障一台Master节点,如果故障两个Master节点,Elas ...

最新文章

  1. Oracle bbed 五个 实用示例
  2. Boost:分配服务的实例
  3. gulp build
  4. 基本卷-动态卷性能测评(未完待续)
  5. mkdir-yum-tree命令应用案例
  6. Spring Boot (八)MyBatis + Docker + MongoDB 4.x
  7. Android学习笔记----Java中的字符串比较
  8. Elementui动态换肤
  9. JAVA:获得当前执行路径的办法
  10. endnotex8使用教程_EndNote X8初级教程(原创)
  11. 蒸汽管道图纸符号_水暖工程图纸中的符号表示
  12. SSM+基于ssm的汽车租赁平台的设计与实现 毕业设计-附源码211708
  13. ie11兼容性视图设置_ie11浏览器不兼容的解决办法
  14. 连接服务器框架协议通信,通信服务协议范本3篇.doc
  15. 至将北漂或刚北漂的程序员
  16. 火狐浏览器打开书签 不要在新页面打开书签
  17. (动态规划)股票交易日问题
  18. [解锁新姿势] 兄dei 我感觉你在写bug
  19. Laputa在cnblogs
  20. 抖音落地页跳转微信加好友怎么实现的?

热门文章

  1. IDEA 2017 破解教程(2018也可以)
  2. 鼠标移入移出时定时器加速的原因_2020年值得购买的鼠标有哪些?
  3. windwos安装Android NDK(Native Development Kit)
  4. 学生用计算机没电了,cfa计算器没电了怎么办
  5. 每个人都应该了解的金融小知识 -- 利率计算
  6. 【JAVA】数据结构——二叉树的学习
  7. 万能五笔输入法弹窗_万能五笔输入法广告怎么去掉
  8. OSEK 操作系统的基本概念
  9. Windows下使用mingw32
  10. 微信小程序轮播图,图片自适应,图片循环播放,图片之间有空白空间