Rocketmq 在名称服务器中没有该主题的主题路由信息

问题描述

我有一个由三台机器组成的DLedger集群,例如SA00、SA01、SA02;

enter image description here

现在我创建一个主题 ops06 并导入一些数据;

./bin/mqadmin checkMsgSendRT -n xx.xxx.1.251:9876 -s 2 -t ops06 -a 1000

然后我关闭topicRoute指定的主机;

enter image description here

enter image description here

使用./bin/mqadmin topicRoute查看该主题,会报“No topic route info in name server for the topic”错误

enter image description here

那么./bin/mqadmin topicList中不存在该主题

enter image description here

有没有办法解决这个问题?

broker 配置如下:

brokerClusterName=RaftClusterSA
brokerName=RaftNodeSA02
listenPort=30911
brokerIP1=xx.xx.1.251
namesrvAddr=xx.xx.1.249:9876;xx.xx.1.250:9876;xx.xx.1.251:9876
enableDLegerCommitLog=true
dLegerGroup=RaftNodesSA
dLegerPeers=n0-xx.xx.1.249:40911;n1-xx.xx.1.250:40911;n2-xx.xx.1.251:40911
## must be unique
dLegerSelfId=n2
sendMessageThreadPoolNums=16

估计是SA01主节点没有同步SA00的ops06数据。这个应该怎么解决

期待您的回复

解决方法

brokerName 需要配置相同才能组成主从集群,数据才会同步; 当brokerName名称不同时,相当于多个broker,topic数据会分布在不同的broker中,有可能broker不保存数据。