RocketMQ : UpdateTopicSubCommand command failed connect to 192.168.10.154:10909 failed

1. 背景

刚刚安装好RocketMQ

开启mqnamesrv

lcc@lcc rocketmq-all-4.5.0-bin-release$ sh bin/mqnamesrv
Java HotSpot(TM) 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
Java HotSpot(TM) 64-Bit Server VM warning: Cannot open file /dev/shm/rmq_srv_gc.log due to No such file or directory

The Name Server boot success. serializeType=JSON

启动broker

lcc@lcc rocketmq-all-4.5.2-bin-release$ bin/mqbroker -n localhost:9876
The broker[lcc, 192.168.10.154:10911] boot success. serializeType=JSON and name server is localhost:9876


然后创建topic报错

lcc@lcc rocketmq$ sh bin/mqadmin updateTopic -c DefaultCluster  -n localhost:9876 -t threezto-test -r 12 -w 12
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
org.apache.rocketmq.tools.command.SubCommandException: UpdateTopicSubCommand command failed
	at org.apache.rocketmq.tools.command.topic.UpdateTopicSubCommand.execute(UpdateTopicSubCommand.java:185)
	at org.apache.rocketmq.tools.command.MQAdminStartup.main0(MQAdminStartup.java:135)
	at org.apache.rocketmq.tools.command.MQAdminStartup.main(MQAdminStartup.java:86)
Caused by: org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to <192.168.10.154:10909> failed
	at org.apache.rocketmq.remoting.netty.NettyRemotingClient.invokeSync(NettyRemotingClient.java:392)
	at org.apache.rocketmq.client.impl.MQClientAPIImpl.createTopic(MQClientAPIImpl.java:270)
	at org.apache.rocketmq.tools.admin.DefaultMQAdminExtImpl.createAndUpdateTopicConfig(DefaultMQAdminExtImpl.java:178)
	at org.apache.rocketmq.tools.admin.DefaultMQAdminExt.createAndUpdateTopicConfig(DefaultMQAdminExt.java:160)
	at org.apache.rocketmq.tools.command.topic.UpdateTopicSubCommand.execute(UpdateTopicSubCommand.java:160)
	... 2 more

查看原因,Rocket默认开启了VIP通道,VIP通道端口为10911-2=10909。若Rocket服务器未启动端口10909,则报connect to <> failed。
根据这篇文章:https://blog.csdn.net/qq_14853889/article/details/81053145

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH

# 绑定的主机
namesrvAddr = 192.168.10.154:9876
brokerIP1 = 192.168.10.154
# 存储的路径
storePathRootDir = /Users/lcc/soft/rocketmq/rocketmq/data
# commitlog存储
storePathCommitLog = /Users/lcc/soft/rocketmq/rocketmq/data/commitlog
# 消息队列的存储路径
storePathConsumeQueue = /Users/lcc/soft/rocketmq/rocketmq/data/comsumequeue
# 消息索引存储路径
storePathIndex = /Users/lcc/soft/rocketmq/rocketmq/data/index
# 文件存储路径
storeCheckpoint = /Users/lcc/soft/rocketmq/rocketmq/data/checkpoint
# abort 文件存储路径
abortFile = /Users/lcc/soft/rocketmq/rocketmq/data/abort

然后重新启动

lcc@lcc rocketmq-all-4.5.0-bin-release$ sh bin/mqbroker -n localhost:9876 -c ./conf/broker.conf
Java HotSpot(TM) 64-Bit Server VM warning: Cannot open file /dev/shm/mq_gc_pid29606.log due to No such file or directory

指定文件居然启动不起来。
然后突然在日志里看到另外一个ip,于是我看下我的ip

lcc@lcc rocketmq-all-4.5.0-bin-release$ ifconfig
inet 192.168.0.7 

然后我配置这样,还是不对

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH

# 绑定的主机
namesrvAddr = 192.168.0.7:9876
brokerIP1 = 192.168.0.7
# 存储的路径
storePathRootDir = /Users/lcc/soft/rocketmq/rocketmq/data
# commitlog存储
storePathCommitLog = /Users/lcc/soft/rocketmq/rocketmq/data/commitlog
# 消息队列的存储路径
storePathConsumeQueue = /Users/lcc/soft/rocketmq/rocketmq/data/comsumequeue
# 消息索引存储路径
storePathIndex = /Users/lcc/soft/rocketmq/rocketmq/data/index
# 文件存储路径
storeCheckpoint = /Users/lcc/soft/rocketmq/rocketmq/data/checkpoint
# abort 文件存储路径
abortFile = /Users/lcc/soft/rocketmq/rocketmq/data/abort

然后启动

lcc@lcc rocketmq-all-4.5.0-bin-release$ sh bin/mqbroker -n localhost:9876 -c ./conf/broker.conf
Java HotSpot(TM) 64-Bit Server VM warning: Cannot open file /dev/shm/mq_gc_pid29767.log due to No such file or directory

指定文件还是无法启动,然后不指定,就可以启动了

lcc@lcc rocketmq-all-4.5.0-bin-release$ sh bin/mqbroker -n localhost:9876
Java HotSpot(TM) 64-Bit Server VM warning: Cannot open file /dev/shm/mq_gc_pid29824.log due to No such file or directory

The broker[lcc, 192.168.0.7:10911] boot success. serializeType=JSON and name server is localhost:9876

而且发现IP发生变化了。

lcc@lcc rocketmq$ sh bin/mqadmin updateTopic -c DefaultCluster  -n localhost:9876 -t threezto-test -r 12 -w 12
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
create topic to 192.168.0.7:10911 success.
TopicConfig [topicName=threezto-test, readQueueNums=12, writeQueueNums=12, perm=RW-, topicFilterType=SINGLE_TAG, topicSysFlag=0, order=false]
lcc@lcc rocketmq$
lcc@lcc rocketmq$ sh bin/mqadmin topicList  -n localhost:9876
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
RMQ_SYS_TRANS_HALF_TOPIC
%RETRY%please_rename_unique_group_name_4
BenchmarkTest
OFFSET_MOVED_EVENT
TopicTest
TBW102
lcc
SELF_TEST_TOPIC
threezto-test
DefaultCluster
lcc@lcc rocketmq$

然后就可以看到集群状态和topic列表。

你可能感兴趣的:(大数据-RocketMQ)