刚刚安装好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列表。