目录
前言
这一篇文章主要来研究下一些中间件的集群搭建,包括nacos、es、rocketmq、redis、xxl-job,通过对这些中间件进行集群搭建,掌握搭建步骤,并了解其异同。
一、Nacos集群搭建
1.1 配置集群配置文件
在nacos的解压目录nacos/的conf目录下,默认有一个cluster.conf.example文件,我们需要自行复制一份,修改名称为cluster.conf
然后编辑cluster.config,输入以下内容并保存
1.2 初始化MySQL
新建一个名为nacos_config的数据库,运行conf目录下的nacos-mysql.sql脚本文件。
执行完后生成的表如图所示
1.3 配置application.properties
# spring
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848
nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false
# metrics for prometheus
#management.endpoints.web.exposure.include=*
# metrics for elastic search
management.metrics.export.elastic.enabled=false
#management.metrics.export.elastic.host=http://localhost:9200
# metrics for influx
management.metrics.export.influx.enabled=false
#management.metrics.export.influx.db=springboot
#management.metrics.export.influx.uri=http://localhost:8086
#management.metrics.export.influx.auto-create-db=true
#management.metrics.export.influx.consistency=one
#management.metrics.export.influx.compressed=true
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D
# default current work dir
#server.tomcat.basedir=
db.num=1
db.url.0=jdbc:mysql://10.51.10.128:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456
## spring security config
### turn off security
#spring.security.enabled=false
#management.security=false
#security.basic.enabled=false
#nacos.security.ignore.urls=/**
nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health,/v1/cs/**,/v1/ns/**,/v1/cmdb/**
此时我们的一台linux上的nacos server就配置完成了,剩余两台linux的配置和上述一样,三台linux都连接同一mysql,cluster.conf内容一样
1.4 启动服务
三台linux都输入以下命令启动nacos server服务
sh startup.sh
不加参数,默认使用cluster模式启动nacos server
1.5 检查是否搭建成功
在windows中用浏览器分别访问http://192.168.60.163:8848/nacos/index.html,http://192.168.60.164:8848/nacos/index.html,http://192.168.60.165:8848/nacos/index.html
本段参考博客:Nacos篇五 - Nacos集群(Linux下standalone模式和cluster模式)_昌杰的攻城狮之路的博客-CSDN博客_nacos standNacos篇五 - Nacos集群(Linux下standalone模式和cluster模式)_昌杰的攻城狮之路的博客-CSDN博客_nacos standaloneNacos篇五 - Nacos集群(Linux下standalone模式和cluster模式)_昌杰的攻城狮之路的博客-CSDN博客_nacos stand
二、ElasticSearch集群搭建
1.场景介绍
服务器A IP:192.168.1.8
服务器B IP:192.168.1.144
服务器C IP:192.168.1.22
三台服务器都已安装单点的 Elasticsearch(ES)
2.Elasticsearch(ES)集群的搭建
2.1 清除旧数据
三台服务器都执行
# cd /usr/local/elasticsearch-7.14.1/data
# rm -rf nodes/
2.2 修改Elasticsearch配置文件
# cd /usr/local/elasticsearch-7.14.1/config
# vi elasticsearch.yml
服务器A配置:
服务器B配置:
服务器C配置:
2.3 启动三台服务器的Elasticsearch(ES)
# su esuser
# cd /usr/local/elasticsearch-7.14.1/bin
# ./elasticsearch
可以使用Head插件查看Elasticsearch集群的信息,连接哪台服务器,显示的信息一样。
一主二从架构。
2.4 集群分片测试
新建一个索引 index_user,分片数为3,副本数为1。
再新建一个索引 index_product,分片数为3, 副本数为2。
通过Head插件能够看出,主分片和副本被分配到了不同的服务器,任意一台机器宕机,对数据都没有影响,很好的实现了容灾和高可用机制。
因为每个分片被分配的机器不同,当读取时,Elasticsearch会采用轮询读取主副分片的策略,从而实现了负载均衡的机制。
通过设置主分片的数量实现扩容。
三、RocketMQ集群搭建
全网最详细RocketMQ集群搭建教程_51CTO博客_rocketmq集群部署
四、Redis集群搭建
redis集群搭建(非常详细,适合新手)_凉凉的西瓜的博客-CSDN博客_redis集群设置
五、xxl-job集群搭建
XXL-JOB集群配置_长歌-IT行的博客-CSDN博客_xxl-job集群
总结
以上就是一些中间件的集群搭建过程。