报错日志:

org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout

解决方法
如果是阿里云 腾讯云 华为云等需要开放RocketMQ以下端口
namesrv需要的: 9876端口 (必须开启)

非vip通道端口: 10911 (必须开启)
这个主要是broker的服务端口号,作为对producer和consumer使用服务的端口号,默认为10911,可以通过配置文件中修改。

vip通道端口: 10909`
10909是VIP通道对应的端口,在JAVA中的消费者对象或者是生产者对象中关闭VIP通道即可无需开放10909端口

启动namesrv

name server 启动 ip修改为你服务器对应公网ip

nohup ./bin/mqnamesrv -n 你的公网IP:9876 &

不能写localhost

broker添加配置

在conf/broker.conf 中 加入 brokerIP1=你的公网IP

image.png

broker 启动

nohup sh bin/mqbroker -n 你的公网IP:9876 -c conf/broker.conf autoCreateTopicEnable=true &

可视化监控平台搭建

RocketMQ 有一个对其扩展的开源项目 incubator-rocketmq-externals,这个项目中有一个子模块叫 rocketmq-console,这个便是管理控制台项目了,先将 incubator-rocketmq-externals 拉到本地,因为我们需要自己对 rocketmq-console 进行编译打包运行。

2.8.2 下载并编译打包
克隆项目

git clone https://github.com/apache/rocketmq-externals

复制代码

在 rocketmq-console 中配置 namesrv 集群地址:

$ cd rocketmq-console
$ vim src/main/resources/application.properties
    rocketmq.config.namesrvAddr=10.211.55.4:9876

配置完成进行编译并打包

mvn clean package -Dmaven.test.skip=true

启动 rocketmq-console:

nohup java -jar rocketmq-console-ng-2.0.0.jar > rocketmq-console.log &

启动成功后,我们就可以通过浏览器访问 http://IP地址:8080 进入控制台界面了

Last modification:March 19, 2022
如果觉得这篇技术文章对你有用,请随意赞赏