安装并启动好RocketMQ后,在代码中远程连接RocketMQ,报以下错误:
org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException:sendDefaultImpl call timeout at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendDefaultImpl(DefaultMQProducerImpl.java:588)at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:1223)at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:1173)at org.apache.rocketmq.client.producer.DefaultMQProducer.send(DefaultMQProducer.java:214)at com.flying.demo.Producer.main(Producer.java:25)
这个错误其实是启动RocketMQ的namesrv,broker没有指IP。
假如IP是:192.168.1.135
那么启动namesrv时,用以下方法:
nohup sh bin/mqnamesrv -n "192.168.1.135:9876" &
启动broker时,用以下方法:
修改conf/broker.conf,加入:brokerIP1=192.168.1.135
启动:nohup ./bin/mqbroker -n localhost:9876 -c conf/broker.conf autoCreateTopicEnable=true &