Rocketがビルドされ、Javaコード全体が開始された後、プログラムの開始後にエラーが次のように報告されます。
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)
または
Exception in thread "main" org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, xxx
See http://rocketmq.apache.org/docs/faq/ for further details.
at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendDefaultImpl(DefaultMQProducerImpl.java:656)
at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:1279)
at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:1225)
at org.apache.rocketmq.client.producer.DefaultMQProducer.send(DefaultMQProducer.java:283)
at com.tao.rocket.base.producer.SyncProducer.main(SyncProducer.java:34)
問題が発生した場合は、それを解決する必要があります。この問題は、セットアップ時のサーバー構成の問題です。以前の記事では、構築する手順がありますが、私が注意を払っていなかった詳細がいくつかあります。それがクラスターIPの問題です!
ネームサーバー指定のIPスタート
nohup sh mqnamesrv -n "192.168.0.177:9876" &
ブローカーはIPを指定します。
ここでは、クラスター環境をケースとして取り上げ、rocketmq-4.4.0 / conf / 2mのbroker-as.properties、broker-a.properties、broker-bs.properties、broker-bを変更します-2s-sync / directory .properties、構成に次のコードを追加します
クラスター内のブローカースタートアップのIPを指定します
brokerIP1=本机ip
RocketMQクラスターを再起動します
Javaコードを再実行します