
一、問題
開發中遇到如下問題:在發送rocketmq訊息的時候,包連接例外(RemotingConnectException)
連接broker地址為:10.100.2.0:10911 這一看就不像一個內網地址,
報錯資訊如下:
Caused by: org.apache.rocketmq.client.exception.MQClientException: Send [3] times, still failed, cost [6005]ms, Topic: recordTopic, BrokersSent: [nb003, nb003, nb003]
See http://rocketmq.apache.org/docs/faq/ for further details.
at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendDefaultImpl(DefaultMQProducerImpl.java:665)
at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:1343)
at org.apache.rocketmq.client.producer.DefaultMQProducer.send(DefaultMQProducer.java:344)
at org.apache.rocketmq.spring.core.RocketMQTemplate.syncSend(RocketMQTemplate.java:555)
... 73 common frames omitted
Caused by: org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to 10.100.2.0:10911 failed
at org.apache.rocketmq.remoting.netty.NettyRemotingClient.invokeSync(NettyRemotingClient.java:394)
at org.apache.rocketmq.client.impl.MQClientAPIImpl.sendMessageSync(MQClientAPIImpl.java:503)
at org.apache.rocketmq.client.impl.MQClientAPIImpl.sendMessage(MQClientAPIImpl.java:487)
at org.apache.rocketmq.client.impl.MQClientAPIImpl.sendMessage(MQClientAPIImpl.java:431)
at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendKernelImpl(DefaultMQProducerImpl.java:854)
at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendDefaultImpl(DefaultMQProducerImpl.java:584)
... 76 common frames omitted
查看控制臺:發現問題一致,

二、問題排查
先排查網路情況:ip addr

由上圖發現,默認網卡的內網ip為172.xx.xx.xx (知道這個意思就行)
而實際報錯里的 10.100.2.0 為之前安裝K8S環境時候安裝的網路插件 flannel 的ip段,故是broker 在啟動時候網卡讀錯了,導致ip不對,從而導致連接例外,
三、解決方案
指定broker的ip地址,再啟動broker
我的rocketmq的根路徑為:/usr/local/rocketmq-all-4.9.1-bin-release
操作如下:
【172.xx.xx.xx改為你自己的ip哈】
[root@nb003 conf]# cd /usr/local/rocketmq-all-4.9.1-bin-release/conf
[root@nb003 conf]# echo "brokerIP1=172.xx.xx.xx" > broker.properties
[root@nb003 conf]# ls
2m-2s-async 2m-2s-sync 2m-noslave broker.conf broker.properties dledger logback_broker.xml logback_namesrv.xml logback_tools.xml plain_acl.yml tools.yml
# 先停止broker
[root@nb003 conf]# cd /usr/local/rocketmq-all-4.9.1-bin-release/bin
[root@nb003 bin]# ./mqshutdown broker
The mqbroker(2783) is running...
Send shutdown request to mqbroker(2783) OK
# 再啟動broker,并指定組態檔(建議全路徑)
[root@nb003 bin]# nohup sh mqbroker -n localhost:9876 -c /usr/local/rocketmq-all-4.9.1-bin-release/conf/broker.properties &
[1] 8705
[root@nb003 bin]# nohup: ignoring input and appending output to ‘nohup.out’
重新查看集群資訊:ip已經正確,

END
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/379441.html
標籤:其他
上一篇:HCIA第二天
下一篇:兩臺電腦通過網線共享檔案
