1、centos7搭建RocketMq
1、下载rocketMq
- 下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/
2、rocketMq加入环境变量
- 执行: vi /etc/profile
export ROCKETMQ_HOME=/usr/local/rocketmq/rocketmq-all-4.8.0-bin-release
export PATH=$ROCKETMQ_HOME/bin:$PATH
- 执行刷新命令: source /etc/profile
3、修改配置文件
- 修改 broker.conf 文件
brokerClusterName=DefaultCluster
brokerName=broker‐a
brokerId=0
//定义服务地址,主存地址
namesrvAddr=127.0.0.1:9876
deleteWhen=04
fileReservedTime=48
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
autoCreateTopicEnable=true
#服务器外网IP
brokerIP1=127.0.0.1
- 默认运行内存设置过大,需要修改 ,可根据自己的需要修改内存大小
- 修改runserver.sh的JAVA_OPT关于内存的设置:vi runserver.sh
JAVA_OPT="${JAVA_OPT}‐server‐Xms256m‐Xmx256m‐Xmn128m‐XX:MetaspaceSi ze=64m ‐XX:MaxMetaspaceSize=128m"
- 修改runbroker.sh的JAVA_OPT关于内存的设置:vi runbroker.sh
JAVA_OPT="${JAVA_OPT}‐server‐Xms256m‐Xmx256m‐Xmn128m"
- 修改tools.sh的JAVA_OPT关于内存的设置:vi tools.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=128m"
4、启动
- 启动namesrv 在(/opt/rocketmq-all-4.8.0-bin-release/bin路径下)
nohup sh mqnamesrv ‐n 127.0.0.1:9876 &
nohup sh mqnamesrv ‐n 127.0.0.1:9876 &
#查看启动状态
tail -f nohup.out
出现success即成功启动
- 启动broker 在(/opt/rocketmq-all-4.8.0-bin-release/bin路径下)
nohup sh mqbroker ‐n 127.0.0.1:9876 autoCreateTopicEnable=true &
#查看启动状态
tail -f nohup.out
出现success即成功启动
5、关闭防火墙
-
查看防火墙的状态
systemctl status firewalld -
关闭和开启防火墙命令
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动 -
阿里云服务器需要开启端口9876和10911端口
6、测试发送消息
- 生产者:设置环境变量,启动生产者
export NAMESRV_ADDR=127.0.0.1:9876
#发送消息
sh tools.sh org.apache.rocketmq.example.quickstart.Producer
- 消费者:启动消费者
sh tools.sh org.apache.rocketmq.example.quickstart.Consumer
7、可视化页面
-
下载地址
https://github.com/apache/rocketmq-externals -
修改rocketmq-console项目中的配置
cd rocketmq‐console/src/main/resources/application.properties
修改namesrv的ip
#配置rocketmqnameserver的ip及端口,如有多个则用逗号间隔
rocketmq.config.namesrvAddr=外网ip:9876
- 执行编译命令
cd rocketmq-console
#编译命令
mvn clean package -Dmaven.test.skip=true
- 启动项目
cd /rocketmq-console/target
#启动命令
java -jar rocketmq-console- ng-1.0.0.jar
8、可能出现的问题
-
注意修改内存不然会出现内存不够用错误
-
本地连接生产者可能出现
RemotingConnectException: connect to 172.18.0.1:10911 failed
broker.conf需要加一行配置:brokerIP1=服务器外网ip
启动的时候需要指定配置文件broker.conf
nohup sh bin/mqbroker -n 外网ip地址:9876 -c /opt/rocketmq-all-4.8.0-bin-release/conf/broker.conf &