RocketMQ报错:sendDefaultImpl呼び出しタイムアウト、このトピックのルート情報はありません

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コードを再実行します
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/CSDN877425287/article/details/112639575