Centos7 安装Rocketmq Dledger 集群 控制台
本人主要参考 https://github.com/apache/rocketmq
环境:Centos 7
准备工作
1:下载对应安装包,下载地址如下:
https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.9.4/rocketmq-all-4.9.4-bin-release.zip
2:配置好Java环境变量
3:五台Centos7环境服务器 2台:部署NameServer注册中心负载 3台:部署Broker节点 3:Rocketmq控制台随便挤一挤
主要步骤:
安装NameSever
1:解压zip包,并移到/usr/local/rocketmq-4.9.0目录下
unzip rocketmq-all-4.9.0-bin-release.zip
mv rocketmq-all-4.9.0-bin-release /usr/local/rocketmq-4.9.0
2:修改nameserver配置文件runserver.sh
vi /usr/local/rocketmq-4.9.3/conf/runserver.sh
修改启动内容
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
3:启动nameserver
nohup sh mqnamesrv &
4:在另一台进行相同操作。
安装Rocketmq dledger 组。
1: 解压zip包,并移到/usr/local/rocketmq-4.9.0目录下
unzip rocketmq-all-4.9.0-bin-release.zip
mv rocketmq-all-4.9.0-bin-release /usr/local/rocketmq-4.9.0
2: 编辑/usr/local/rocketmq-4.9.0/conf/dledger/broker-n0.conf
# 所属集群名称,如果节点较多可以配置多个
brokerClusterName=RaftCluster
# broker名称,master和slave使用相同的名称,表明他们的主从关系
brokerName=broke-RaftCluster-0
# Broker 对外服务的监听端口
listenPort=30911
# nameServer地址,分号分割
namesrvAddr=172.20.0.23:9876;172.20.0.24:9876
#数据存储目录(消息存储路径)
storePathRootDir=/usr/local/rocketmq-4.9.0/data/store
#commitlog目录
storePathCommitLog=/usr/local/rocketmq-4.9.0/data/commitlog
#是否使用DLeger 模式
enableDLegerCommitLog=true
#DLeger分组,一般与brokerName相同
dLegerGroup=broke-RaftCluster-0
# 是否允许Broker自动创建Topic
autoCreateTopicEnable=true
# 是否允许 Broker 自动创建订阅组
autoCreateSubscriptionGroup=true
#集群中其他节点,实现Dleger内部通信(命名规则,第一个字母为自定义,从第二个开始必须为数字 (n10是ID)
dLegerPeers=n0-172.20.0.26:40911;n1-172.20.0.27:40912;n2-172.20.0.28:40913
## must be unique
dLegerSelfId=n0
#发送线程池的大小,建议配置成CPU核数
sendMessageThreadPoolNums=4
#========追加配置项===========
#开启异步刷盘
flushDiskType=ASYNC_FLUSH
#线上关闭自动创建topic
autoCreateTopicEnable=false
#开启临时存储池-异步刷盘建议开启
TransientStorePoolEnable=true
#同步刷盘建议使用重入锁-异步建议关闭
useReentrantLockWhenPutMessage=false
#发送消息的最大线程数,默认1,同步刷盘建议适当增大,建议配置成CPU核数
sendMessageThreadPoolNums=8
#关闭堆内存数据传输-建议关闭,可以提高拉消息效率
transferMsgByHeap=false
#开启消息轨迹,建议再集群中新增加个节点,并仅再新增节点上开启消息轨迹
#traceTopicEnable=true
#开启从Slave读数据功能
slaveReadEnable=true
#启用ACL访问控制(不添加ACL访问控制,可直接跳过ACL访问控制的配置)
#aclEnable=true
3:编辑/usr/local/rocketmq-4.9.0/bin/runbroker.sh
修改启动内存 JAVA_OPT="${JAVA_OPT} -server -Xms3g -Xmx3g -Xmn1g"
4:启动服务
nohup bin/mqbroker -c conf/dledger/broker-n0.conf >rocketmq.log 2>& 1 &
查看nameserver注册的broker列表
sh mqadmin clusterList -n 127.0.0.1:9876 #127.0.0.1 为安装nameserver地址
安装Rocketmq控制台(实际就是一个java工程,自己写脚本去启动即可)
参考官网 https://github.com/apache/rocketmq-dashboard;
需要注意的多个nameserver 地址用“;”分割。