1.no route info of this topic

这个问题就是rocketmq没有床topic,需要broker启动命令上加入自动创建topic。或则在配置上修改,自动创建topic为true。

配置修改:autoCreateTopicEnable=true;
启动命令为:nohup sh bin/mqbroker -n namesrvAddr:9876 -c conf/broker.conf autoCreateTopicEnable=true &
配置如图:

rocketmq启动找不到java rocketmq启动找不到topic_kafka

2.连接不上broker地址

connect to ip:9876:10911
启动broker后,我们要查看一下broker的日志,如果broker地址是namesrv的地址加上10911的端口才是正常的,我这里出现9876这个端口在加上10911这个端口的原因就是因为配置中的namesrvAddr和brokerIP1配置错了,两个地址整反了,brokerIP1的地址是namesrvAddr的ip,后面没有端口号!切记!没有端口号! namesrvAddr才是公网ip加9876这个端口号,如上图

3.我的rocketmq相关命令

启动namesrv

nohup sh bin/mqnamesrv &

启动broker

启动命令,并且常驻内存:注意ip地址要配置成为服务的ip地址,保证地址以及端口能够访问。并且指定配置文件启动

nohup sh bin/mqbroker -c conf/broker.conf autoCreateTopicEnable=true &

关闭broker

sh bin/mqshutdown broker

关闭namesrv

sh bin/mqshutdown namesrv

4.注意事项

a.如果开启了防火墙,服务器和外界交互的相关端口,如:9876,10911,10912,10909,一定要打开,或则直接关闭防火墙,但是不推荐关闭防火墙

这里是防火墙的相关命令

查看防火墙,开放的端口号

firewall-cmd --zone=public --list-ports

防火墙为某个端口开放权限,添加后记得重新加载配置

firewall-cmd --zone=public --add-port=80/tcp --permanent

重新加载防火墙配置

firewall-cmd --reload

查看防火墙状态

systemctl status firewalld

打开防火墙,重启后不生效

systemctl start firewalld

关闭防火墙,重启后不生效

systemctl stop firewalld

打开防火墙,重启后也生效

systemctl enable firewalld

关闭防火墙,重启后不生效

systemctl disable firewalld

b.如果试用的是云服务器,云服务器的安全组端口一定要打开,我使用的是阿里云,下面是安全组的相关步骤

  1. 控制台
  2. rocketmq启动找不到java rocketmq启动找不到topic_linux_02

  3. 云服务器ECS,下述两个地方都可以找到
  4. rocketmq启动找不到java rocketmq启动找不到topic_运维_03


  5. rocketmq启动找不到java rocketmq启动找不到topic_运维_04

  6. 实例
  7. rocketmq启动找不到java rocketmq启动找不到topic_kafka_05

  8. 更多->网络和安全组->安全组配置
  9. rocketmq启动找不到java rocketmq启动找不到topic_rocketmq启动找不到java_06

我这里是配置的所有端口,你们也可以这样配置,也可以单独配置需要开放的端口