linux环境搭建nacos集群详解
目录
- 一、集群部署说明
- 二、环境准备
- 三、搭建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启动不成功等问题!
- jdk环境:https://blog.csdn.net/weixin_43888891/article/details/126810947?spm=1001.2014.3001.5501
- 基于docker安装mysql:https://blog.csdn.net/weixin_43888891/article/details/113577006
- 创建Nacos数据库,并执行脚本(Nacos数据持久化到mysql),脚本文件:https://github.com/alibaba/nacos/blob/master/config/src/main/resources/META-INF/nacos-db.sql
- 安装Nginx:https://blog.csdn.net/weixin_43888891/article/details/122831636
- Nacos下载地址:https://github.com/alibaba/nacos/releases
6. 查看nginx是否启动成功:ps -ef | grep nginx
三、搭建Nacos集群
我这里用的是一台机器,假如你是三台机器,那么每一台都需要这么操作,切记每个nacos的
cluster.conf
要保持一致,并且application.properties
当中指定的mysql数据库也都要是一致的。
第一步:上传解压:
- 创建存放nacos的文件夹:
mkdir /opt/nacos
- 通过
xftp
上传tar包到/opt/nacos
- 解压:
tar -zxvf nacos-server-2.1.1.tar.gz
第二步:修改application.properties,指定mysql持久化
- 修改配置文件:
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
:wq
保存application.properties配置
第三步:指定集群的IP和端口
- 进入/opt/nacos/nacos/conf复制出cluster.conf:
cp cluster.conf.example cluster.conf
- 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
- 查看启动日志:
tail -f /opt/nacos/nacos/logs/start.out
- 出现报错(没有出现报错的话忽略这一步):
(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
- 修改配置文件:
vi /usr/local/nginx/conf/nginx.conf
- 在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;}
}
cd /usr/local/nginx/sbin
- 让配置生效:
./nginx -s reload
防火墙相关设置:
- 查看是否开启防火墙:
systemctl status firewalld
- 如果开启了,需要开放1111端口:
firewall-cmd --zone=public --add-port=1111/tcp --permanent
- 重启防火墙:
systemctl restart firewalld.service
- 查看已经开放的端口号:
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集群详解相关推荐
- 搭建Tomcat集群详解
一.为什么需要Tomcat集群 Tomcat的最大并发数是可以配置的,实际运用中,最大并发数与硬件性能和CPU数量都有很大关系的.更好的硬件,更多的处理器都会使Tomcat支持更多的并发. Tomca ...
- linux搭建spark集群,详解Spark+Zookeeper搭建高可用Spark集群
Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎:现在形成一个高速发展应用广泛的生态系统. Spark三种分布式部署方式比较 目前Apache Spark支持三种分布式部署方式, ...
- linux下搭建zookeeper集群
linux下搭建zookeeper集群 1.准备 1.下载zookeeper压缩包 (注:下载3.4.14版本,3.5以上运行时会少jar包) 2.系统:centOS7 安装好java环境 3.将压缩 ...
- 环境搭建-CentOS集群搭建
环境搭建-CentOS集群搭建 写在前面 最近有许多小伙伴问我,大数据的hadoop分布式集群该如何去搭建.所以,想着,就写一篇博客,帮助到更多刚入门大数据的人.本博客会一步一步带你实现一个Hadoo ...
- docker compose搭建NACOS集群
使用docker搭建NACOS集群 SpringCloud Alibaba,必然会使用Nacos进行服务注册与配置管理.然而,在实际的生产环境中,使用单服务器搭建nacos服务器是十分危险的,如若发生 ...
- 环境搭建-Hadoop集群搭建
环境搭建-Hadoop集群搭建 写在前面,前面我们快速搭建好了centos的集群环境,接下来,我们就来开始hadoop的集群的搭建工作 实验环境 Hadoop版本:CDH 5.7.0 这里,我想说一下 ...
- docker环境搭建redis-cluster集群(多台机器)
docker环境搭建redis-cluster集群(多机) Docker多台主机安装Redis集群 Docker安装Redis Cluster 三主三从
- 融云发送自定义消息_数据源管理 | Kafka集群环境搭建,消息存储机制详解
一.Kafka集群环境 1.环境版本 版本:kafka2.11,zookeeper3.4 注意:这里zookeeper3.4也是基于集群模式部署. 2.解压重命名 tar -zxvf kafka_2. ...
- 数据源管理 | Kafka集群环境搭建,消息存储机制详解
本文源码:GitHub·点这里 || GitEE·点这里 一.Kafka集群环境 1.环境版本 版本:kafka2.11,zookeeper3.4 注意:这里zookeeper3.4也是基于集群模式部 ...
- ElasticSearch搭建集群详解
Elasticsearch如果做集群的话Master节点至少三台服务器或者三个Master实例加入相同集群,三个Master节点最多只能故障一台Master节点,如果故障两个Master节点,Elas ...
最新文章
- Oracle bbed 五个 实用示例
- Boost:分配服务的实例
- gulp build
- 基本卷-动态卷性能测评(未完待续)
- mkdir-yum-tree命令应用案例
- Spring Boot (八)MyBatis + Docker + MongoDB 4.x
- Android学习笔记----Java中的字符串比较
- Elementui动态换肤
- JAVA:获得当前执行路径的办法
- endnotex8使用教程_EndNote X8初级教程(原创)
- 蒸汽管道图纸符号_水暖工程图纸中的符号表示
- SSM+基于ssm的汽车租赁平台的设计与实现 毕业设计-附源码211708
- ie11兼容性视图设置_ie11浏览器不兼容的解决办法
- 连接服务器框架协议通信,通信服务协议范本3篇.doc
- 至将北漂或刚北漂的程序员
- 火狐浏览器打开书签 不要在新页面打开书签
- (动态规划)股票交易日问题
- [解锁新姿势] 兄dei 我感觉你在写bug
- Laputa在cnblogs
- 抖音落地页跳转微信加好友怎么实现的?