Rocket MQ 使用问题整理
- 1、官方后台管理工具
- 2、消费者启动时invokeSync call timeout
- 3、生产者发送时sendDefaultImpl call timeout
- 3、生产者发送时CODE: 14 DESC: service not available now, maybe disk full
1、官方后台管理工具
rocketmq-console?rocketmq-dashboard!
网上有些文章写的是rocketmq-console,下载地址:
https://hub.fastgit.org/apache/rocketmq-externals ;
但是截至本文时间,后台管理工具为rocketmq-dashboard,下载地址:https://hub.fastgit.org/apache/rocketmq-dashboard。
2、消费者启动时invokeSync call timeout
Caused by: org.apache.rocketmq.remoting.exception.RemotingTimeoutException: invokeSync call timeout
at org.apache.rocketmq.remoting.netty.NettyRemotingClient.invokeSync(NettyRemotingClient.java:375)
at org.apache.rocketmq.client.impl.MQClientAPIImpl.getTopicRouteInfoFromNameServer(MQClientAPIImpl.java:1367)
at org.apache.rocketmq.client.impl.MQClientAPIImpl.getTopicRouteInfoFromNameServer(MQClientAPIImpl.java:1357)
at org.apache.rocketmq.client.impl.factory.MQClientInstance.updateTopicRouteInfoFromNameServer(MQClientInstance.java:622)
... 5 more
有两种解决办法:
- 将Rocket MQ maven依赖版本调整为4.5.0;
<!-- Rocket MQ -->
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-client</artifactId>
<version>4.5.0</version>
</dependency>
- 在启动consumer前,提前加载DefaultChannelId类,使其静态代码块先执行完成。
......
// 提前加载DefaultChannelId类,使其静态代码块先执行完成
DefaultChannelId.newInstance();
consumer.start();
log.info("消费者启动");
......
3、生产者发送时sendDefaultImpl call timeout
Caused by: org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout
at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendDefaultImpl(DefaultMQProducerImpl.java:635)
at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendOneway(DefaultMQProducerImpl.java:928)
at org.apache.rocketmq.client.producer.DefaultMQProducer.sendOneway(DefaultMQProducer.java:354)
at com.rocket.mq.main.demo.producer.OnewayProducer.main(OnewayProducer.java:36)
解决办法步骤:
1、修改broker.conf,增加ip配置信息
brokerIP1=127.0.0.1
namesrvAddr=127.0.0.1:9876
2、启动时绑定ip
start mqnamesrv.cmd -n "127.0.0.1:9876"
start mqbroker.cmd -n 127.0.0.1:9876 -c ../conf/broker.conf autoCreateTopicEnable=true
3、生产者发送时CODE: 14 DESC: service not available now, maybe disk full
1、修改runserver.cmd,增加空间大小
-server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
1、修改runbroker.cmd,增加空间大小
-server -Xms512m -Xmx512m -Xmn256m"
-XX:MaxDirectMemorySize=2g"
后记
本文只是记录本人学习过程中的理解,可能有部分内容有纰漏,望各位不吝赐教。