rocketMQ安装步骤:
- 在官网下载 www.apache.org/dyn/closer.…
- 解压缩 unzip rocketmq-all-4.4.0-bin-release.zip
- 修改默认配置文件,执行以下命令:
vim ./bin/runserver.sh
JAVA_OPT="{JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m"
- 启动nameServer
nohup sh bin/mqnamesrv -n 192.168.162.171:9876 > nameServer.log 2>&1 & - 启动broker
echo 'brokerIP1=192.168.162.171' > conf/broker.properties
nohup sh bin/mqbroker -n 192.168.162.171:9876 -c conf/broker.properties autoCreateTopicEnable=true > broker.log 2>&1 & - 查看nameServer和broker的启动情况,执行下面两条命令,
ps –ef|grep mqnamesrv
ps –ef|grep broker
如果能看到相关进程号,则表明rocketMQ服务启动成功。
关闭namesrv服务:sh bin/mqshutdown namesrv
关闭broker服务 :sh bin/mqshutdown broker
常见问题排查
排查1:Broker 禁止自动创建 Topic,且用户没有通过手工方式创建 Topic:
可以在 Rocket_HOME/distribution/target/apache-rocketmq 下执行 " sh bin/mqbroker -m " 来查看 broker 的配置参数
如下所示,autoCreateTopicEnable=true 证明是没有问题的
排查2:Broker 没有正确连接到 Name Server
如下所示,启动 broker 的时候,只要看到了 The broker[localhost.localdomain, 192.168.58.129:10911] boot success. serializeType=JSON and name server is localhost:9876 字样就说明是成功的
排查3:Producer 没有正确连接到 Name Server
当时一时糊涂 Linux 上开启了 Broker 端口是 9876,然后自己并没有在防护墙中开启此端口,所以导致客户端 Producer 无论如何也连接不上
如下所示,命令分别含义是:
查看防护墙开放的端口,此时没有 9876
设置防火墙开放9876 端口
重新加载 firewall,修改配置后,必须重新加载才能生效:firewall-cmd --reload
再次查看防火墙开放的端口,此时已有 9876
nohup sh bin/mqbroker -n localhost:9876 -c conf/broker.properties autoCreateTopicEnable=true &
nohup sh bin/mqnamesrv &
如果要在一台机器上部署多个rocketMq
需要增加两个配置
nameserv.properties listenPort:9876(默认)
启动:nohup sh bin/mqnamesrv -c conf/namesrv.properties > mqnamesrv.log 2>&1 &
broker.properties listenPort:10911(默认)