首页  :: 新随笔  :: 管理

1、解决远程不能消费问题

问题描述:

nameserver和broker启动后,用tools(命令如下)能发送消息和消费消息,在局域网服务器能发送消息,消费启动后收不到消息通知问题

sh tools.sh org.apache.rocketmq.example.quickstart.Producer
sh tools.sh org.apache.rocketmq.example.quickstart.Consumer

通过查看broker日志吗,错误如下:

rocketmq getConsumerGroupInfo failed

该问题是防火墙问题:

防火墙需要开放端口:9876、10909、10910、10911

2、多IP服务器,broker自动识别到内网IP问题。

 查看已注册的broker: 

sh mqadmin clusterList -n 172.31.9.8:9876 
#Cluster Name     #Broker Name            #BID  #Addr                  #Version                #InTPS(LOAD)       #OutTPS(LOAD) #PCWait(ms) #Hour #SPACE
pandasai          ai_broker               0     12.1.9.8:10911       V4_3_0                   0.00(0,0ms)         0.00(0,0ms)          0 429368.84 0.5889

其中的#Addr(12.1.9.8:10911),需要消费者端能够正常访问,即问题1。

若12.1.9.8为内网IP,需要改为外网ip,修改conf/broker.conf

brokerClusterName = pandasai
brokerName = ai_broker
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
#增加以下两项配置
namesrvAddr=182.8.8.8:9876
brokerIP1=182.8.8.8 

注意参数:brokerIP1,另外,可以保存当前的broker配置查看 :sh mqbroker -m >../conf/me-2m-2s-async/broker.p

启动broker指定配置文件:nohup sh mqbroker -n 127.0.0.1:9876 autoCreateTopicEnable=true -c /usr/local/rocketmq-all-4.3.0-bin-release/conf/broker.conf &

 3、解决MQClientException: No route info of this topic, TopicTest

①Broker禁止自动创建Topic,且用户没有通过手工方式创建Topic

 解决:首先解决①这种情况,启动顺序要先启动nameserver,再启动broker,启动broker时加上autoCreateTopicEnable=true 
②Broker没有正确连接到Name Server

  解决:在bin目录下执行命令sh mqadmin clusterList -n localhost:9876 如果看到
Producer没有正确连接到Name Server 注意:这个错误把网络错误异常吞了

  解决:在消息生产端,ping或Telnet name server的ip和端口号,

4、安装console

参考:https://blog.csdn.net/www_wangzheguilai/article/details/76571868

 

5、安装

参考:

https://www.cnblogs.com/subendong/p/10082202.html

 

智读 | 成都会领科技有限公司官网 | 智读App下载 | 每天听本书的博客 | |