一、软件环境要求
Centos7 64位;
64bit JDK 1.8+(建议卸载os7自带的openJDK,重新安装JDK并配置JAVA_HOME);
4g+ 磁盘剩余空间
二、本文档搭建环境
三、开放端口(131、132服务器)
每个服务器需开放七个端口
9876 #namesrv
10911、10909、10912 #broker主节点
11011、11009、11012 #broker从节点
端口规则说明:
namesrv默认端口:9876
假设broker配置的 ListenPort 端口:10911
则vip 通道端口为:ListenPort - 2 = 10909
则HA 通道端口为: ListenPort + 1 = 10912
服务启动后查看端口信息
netstat -ntpl|grep java
四、修改内存配置(默认值太大)(131、132服务器)
1、修改namesrv内存
vim bin/runserver.sh
修改前:
修改后:
2、修改broker内存
vim bin/runbroker.sh
修改前:
修改后:
五、双主双从同步机制集群部署
1、131服务器配置
#进入安装目录
cd /usr/local/rocketmq/rocketmq-4.9.2
#拷贝配置文件
cp -r conf/2m-2s-sync/ selfconf
#broker主节点配置
vim selfconf/broker-a.properties
#broker从节点
vim selfconf/broker-b-s.properties
2、132服务器配置
#进入安装目录
cd /usr/local/rocketmq/rocketmq-4.9.2
#拷贝配置文件
cp -r conf/2m-2s-sync/ selfconf
#broker主节点
vim selfconf/broker-b.properties
#broker从节点
vim selfconf/broker-a-s.properties
六、启动服务
1、131服务器
cd /usr/local/rocketmq/rocketmq-4.9.2/
#创建日志目录
mkdir logs
① 名字服务
#启动
nohup sh bin/mqnamesrv > logs/mqnamesrv.log 2>&1 &
#查看启动日志
tail -f -n 30 logs/mqnamesrv.log
#停止namesrv服务命令
sh bin/mqshutdown namesrv
② broker主从
#启动主节点
nohup sh bin/mqbroker -c selfconf/broker-a.properties > logs/broker-a.log 2>&1 &
#查看启动日志
tail -f -n 30 logs/broker-a.log
#启动从节点
nohup sh bin/mqbroker -c selfconf/broker-b-s.properties > logs/broker-b-s.log 2>&1 &
tail -f -n 30 logs/broker-b-s.log
#停止broker服务命令
sh bin/mqshutdown broker
2、132服务器
cd /usr/local/rocketmq/rocketmq-4.9.2/
#创建日志目录
mkdir logs
① 名字服务
#启动
nohup sh bin/mqnamesrv > logs/mqnamesrv.log 2>&1 &
#查看启动日志
tail -f -n 30 logs/mqnamesrv.log
② broker主从
#启动主节点
nohup sh bin/mqbroker -c selfconf/broker-b.properties > logs/broker-b.log 2>&1 &
tail -f -n 20 logs/broker-b.log
#启动从节点
nohup sh bin/mqbroker -c selfconf/broker-a-s.properties > logs/broker-a-s.log 2>&1 &
tail -f -n 20 logs/broker-a-s.log
#停止broker服务命令
sh bin/mqshutdown broker
#查看集群部署信息
bin/mqadmin clusterList -n 192.168.11.131:9876
或
bin/mqadmin clusterList -n 192.168.11.132:9876
六、监控平台console(使用docker部署)
#安装docker
yum -y install docker
#启动docker
systemctl start docker
#获取rocketmq-console镜像
docker pull styletang/rocketmq-console-ng
#启动rocketmq-console
docker run -e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.11.131:9876;192.168.11.132.9876 -Dcom.rocketmq.sendMessageWithVIPChannel=ture" -p 8080:8080 -t styletang/rocketmq-console-ng
访问rocketmq-console:http://192.168.11.131:8080