1修改内存大小
以下只是设置实例:
cd /home/bigdata/installed/rocketmq-all-4.2.0 (140机器)
vim bin/runserver.sh (调整nameserver启动的内存,不调整此文件,可能导致无法启动。)
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
vim bin/runbroker.sh JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx1024m -Xmn128m"
2关闭防火墙
systemctl stop iptables
systemctl stop firewalld.service
3启动nameserver
nohup sh bin/mqnamesrv &
tail -f ~/logs/rocketmqlogs/namesrv.log
4启动broker
nohup sh bin/mqbroker -n xxx.xxx.18.140:9876 autoCreateTopicEnable=true &
tail -f ~/logs/rocketmqlogs/broker.log
5生产和消费者案例
export NAMESRV_ADDR=bigdata1:9876
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
6停止nameserver和broker
#关闭namesrv,broker
sh bin/mqshutdown broker
sh bin/mqshutdown namesrv
6.1 停止rocketmq
可以使用kill -9 命令强制停止rocketmq进程
6.2. 删除rocketmq日志
rm -rf /root/logs/rocketmqlogs/*
6.3. 删除rocketmq中topic等信息
rm -rf /root/store/*
6.4. [可选] 手工清空MQ里剩余的topic,示例命令如下:
cd alibaba-rocketmq/bin
sh mqadmin topicList -n xxx.xxx.1.167:9876
sh mqadmin deleteTopic -c HOSTNAME -n xxx.xxx.1.167:9876 -t orderTopic
6.5. 重新启动rocketmq,示例命令如下:
cd alibaba-rocketmq/bin
nohup sh mqnamesrv -n xxx.xxx.1.167:9876 > /dev/null 2>&1 &
nohup sh mqbroker -n xxx.xxx.1.167:9876 > /dev/null 2>&1 &
PS:
- 顺序必须是先停止rocketmq,再清空数据;如果顺序错误,可能会导致消息无法正常清除、rocketmq无法启动等问题
- 删除Topic不是必须的,但是删除的时候需要指定 -c,可以用服务器的hostname试试
7命令方式创建Topic
#查看添加topic的帮助文档
bin/mqadmin updateTopic -h
bin/mqadmin updateTopic -b bigdata1:10911 -n bigdata1:9876 -t TopicTestA -p 6 -w 16 -r 16
8控制台使用
RocketMQ提供有控制台及一系列控制台命令,用于管理员对主题,集群,broker等信息的管理;
l 登录控制台:
首先进入RocketMQ工程,进入/RocketMQ/bin
在该目录下有个mqadmin脚本
l 查看帮助:
在mqadmin下可以查看有哪些命令
sh mqadmin
updateTopic Update or create topic
deleteTopic Delete topic from broker and NameServer.
updateSubGroup Update or create subscription group
deleteSubGroup Delete subscription group from broker.
updateBrokerConfig Update broker's config
updateTopicPerm Update topic perm
topicRoute Examine topic route info
topicStatus Examine topic Status info
topicClusterList get cluster info for topic
brokerStatus Fetch broker runtime status data
queryMsgById Query Message by Id
queryMsgByKey Query Message by Key
queryMsgByUniqueKey Query Message by Unique key
queryMsgByOffset Query Message by offset
printMsg Print Message Detail
printMsgByQueue Print Message Detail
sendMsgStatus send msg to broker.
brokerConsumeStats Fetch broker consume stats data
producerConnection Query producer's socket connection and client version
consumerConnection Query consumer's socket connection, client version and subscription
consumerProgress Query consumers's progress, speed
consumerStatus Query consumer's internal data structure
cloneGroupOffset clone offset from other group.
clusterList List all of clusters
topicList Fetch all topic list from name server
updateKvConfig Create or update KV config.
deleteKvConfig Delete KV config.
wipeWritePerm Wipe write perm of broker in all name server
resetOffsetByTime Reset consumer offset by timestamp(without client restart).
updateOrderConf Create or update or delete order conf
cleanExpiredCQ Clean expired ConsumeQueue on broker.
cleanUnusedTopic Clean unused topic on broker.
startMonitoring Start Monitoring
statsAll Topic and Consumer tps stats
allocateMQ Allocate MQ
checkMsgSendRT check message send response time
clusterRT List All clusters Message Send RT
getNamesrvConfig Get configs of name server.
updateNamesrvConfig Update configs of name server.
getBrokerConfig Get broker config by cluster or special broker!
queryCq Query cq command.
sendMessage Send a message
consumeMessage Consume message
l 查看具体命令的使用
sh mqadmin help 命令名称
例如,查看updateTopic的使用
sh mqadmin help updateTopic
9 详细命令
9.1. 创建Topic (updateTopic)
指令: updateTopic 类路径 com.alibaba.rocketmq.tools.command.topic.UpdateTopicSubCommand
参数 | 是否必填 | 说明 |
---|---|---|
-b | 如果 -c为空,则必填 | broker地址,表示topic建在该broker |
-c | 如果 -b为空,则必填 | cluster名称,表示topic建在该集群(集群可通过clusterList查询) |
-h | 否 | 打印帮助 |
-n | 是 | nameserve服务地址列表,格式ip:port;ip:port;… |
-p | 否 | 指定新topic的权限限制( W |
-r | 否 | 可读队列数(默认为8) |
-w | 否 | 可写队列数(默认为8) |
-t | 是 | topic名称(名称只能使用字符) |
举例 在集群DefaultCluster上创建主题ZTEExample,nameserve地址为10.45.47.168:9876
sh mqadmin updateTopic –n 10.45.47.168 –c DefaultCluster –t ZTEExample
9.2. 删除Topic(deleteTopic)
指令 deleteTopic 类路径 com.alibaba.rocketmq.tools.command.topic.DeleteTopicSubCommand
参数 | 是否必填 | 说明 |
---|---|---|
-c | 是 | cluster名称,表示删除某集群下的某个topic (集群可通过clusterList查询) |
-h | 否 | 打印帮助 |
-n | 是 | nameserve服务地址列表,格式ip:port;ip:port;… |
-t | 是 | topic名称(名称只能使用字符 ) |
举例 在集群DefaultCluster上删除主题ZTEExample,nameserve地址为10.45.47.168:9876
sh mqadmin deleteTopic –n 10.45.47.168:9876 –c DefaultCluster –t ZTEExample
9.3. 创建(修订)订阅组(updateSubGroup)
指令 updateSubGroup 类路径 com.alibaba.rocketmq.tools.command.consumer.UpdateSubGroupSubCommand
参数 | 是否必填 | 说明 |
---|---|---|
-b | 如果 –c为空,则必填 | broker地址,表示订阅组建在该broker |
-c | 如果 –b为空,则必填 | cluster名称,表示topic建在该集群(集群可通过clusterList查询) |
-d | 否 | 是否容许广播方式消费 |
-g | 是 | 订阅组名 |
-i | 否 | 从哪个broker开始消费 |
-m | 否 | 是否容许从队列的最小位置开始消费,默认会设置为false |
-q | 否 | 消费失败的消息放到一个重试队列,每个订阅组配置几个重试队列 |
-r | 否 | 重试消费最大次数,超过则投递到死信队列,不再投递,并报警 |
-s | 否 | 消费功能是否开启 |
-w | 否 | 发现消息堆积后,将Consumer的消费请求重定向到另外一台Slave机器 |
-h | 否 | 打印帮助 |
-n | 是 | nameserve服务地址列表,格式ip:port;ip:port;… |
举例
9.4. 删除订阅组配置(deleteSubGroup)
指令 deleteSubGroup 类路径 com.alibaba.rocketmq.tools.command.consumer.DeleteSubscriptionGroupCommand
参数 | 是否必填 | 说明 |
---|---|---|
-b | 如果 –c为空,则必填 | broker地址,表示订阅组建在该broker |
-c | 如果 –b为空,则必填 | cluster名称,表示topic建在该集群(集群可通过clusterList查询) |
-g | 是 | 订阅组名 |
-h | 否 | 打印帮助 |
-n | 是 | nameserve服务地址列表,格式ip:port;ip:port;… |
举例
9.5. 更新Broker配置文件(updateBrokerConfig)
指令 updateBrokerConfig 类路径 com.alibaba.rocketmq.tools.command.broker.UpdateBrokerConfigSubCommand
参数 | 是否必填 | 说明 |
---|---|---|
-b | 如果 –c为空,则必填 | broker地址,表示订阅组建在该broker |
-c | 如果 –b为空,则必填 | cluster名称,表示topic建在该集群(集群可通过clusterList查询) |
-k | 是 | key值 |
-v | 否 | value值 |
-h | 否 | 打印帮助 |
-n | 是 | nameserve服务地址列表,格式ip:port;ip:port;… |
举例
9.6. 查看Topic列表信息(topicList)
指令 topicList 类路径 com.alibaba.rocketmq.tools.command.broker.UpdateBrokerConfigSubCommand
参数 | 是否必填 | 说明 |
---|---|---|
-h | 否 | 打印帮助 |
-n | 是 | nameserve服务地址列表,格式ip:port;ip:port;… |
举例 nameserve地址为10.45.47.168:9876
sh mqadmin topicList –n 10.45.47.168:9876
打印内容:
BenchmarkTest
%RETRY%simple-consumer-test
SELF_TEST_TOPIC
ZTEExample
注释:上述头三个主题是RocketMQ默认预先创建
9.7. 查看Topic路由信息(topicRoute)
指令 topicRoute 类路径 com.alibaba.rocketmq.tools.command.topic.TopicRouteSubCommand
参数 | 是否必填 | 说明 |
---|---|---|
-t | 是 | topic名称 |
-h | 否 | 打印帮助 |
-n | 是 | nameserve服务地址列表,格式ip:port;ip:port;… |
举例 查看主题ZTEExample的路由,nameserve地址为10.45.47.168:9876
sh mqadmin topicRoute –n 10.45.47.168:9876 –t ZTEExample_Crm
打印内容:
{
"brokerDatas":[{
"brokerAddrs":{0:"10.45.47.168:10911"
},
"brokerName":"crmdb"
}],
"queueDatas":[{
"brokerName":"crmdb",
"perm":6,
"readQueueNums":8,
"writeQueueNums":8
}]
}
9.8. 查看Topic统计信息(topicStats)
指令 topicStats 类路径 com.alibaba.rocketmq.tools.command.topic.TopicStatsSubCommand
参数 | 是否必填 | 说明 |
---|---|---|
-t | 是 | topic名称 |
-h | 否 | 打印帮助 |
-n | 是 | nameserve服务地址列表,格式ip:port;ip:port;… |
举例 查看主题ZTEExample的统计信息,nameserve地址为10.45.47.168:9876
sh mqadmin topicStats –n 10.45.47.168:9876 –t ZTEExample
打印内容:(统计信息里包括有offset、最后更新时间)
#Broker Name #QID #Min Offset #Max Offset #Last Updated
crmdb 0 0 1 2014-02-10 11:37:44,977
crmdb 1 0 0
crmdb 2 0 0
crmdb 3 0 0
crmdb 4 0 0
crmdb 5 0 0
crmdb 6 0 0
crmdb 7 0 0
9.9. 查看Broker统计信息(brokerStats)
指令 brokerStats 类路径 com.alibaba.rocketmq.tools.command.broker.BrokerStatsSubCommand
参数 | 是否必填 | 说明 |
---|---|---|
-b | 是 | broker地址 |
-h | 否 | 打印帮助 |
-n | 是 | nameserve服务地址列表,格式ip:port;ip:port;… |
举例 查看broker(crmdb)的统计信息,broker地址为10.45.47.168:10911,nameserve地址为10.45.47.168:9876
sh mqadmin brokerStats –n 10.45.47.168:9876 –b 10.45.47.168:10911
打印内容:
bootTimestamp : 1392003367470
brokerVersion : 29
brokerVersionDesc : V3_0_7
commitLogDiskRatio : 0.32690830974763857
commitLogMaxOffset : 217
commitLogMinOffset : 0
consumeQueueDiskRatio : 0.32690830974763857
dispatchMaxBuffer : 1
getFoundTps : 0.0 0.0 0.0
getMessageEntireTimeMax : 4
getMissTps : 0.0 0.0 0.0
getTotalTps : 0.0 0.0 0.0
getTransferedTps : 0.0 0.0 0.0
msgGetTotalTodayMorning : 0
msgGetTotalTodayNow : 1
msgGetTotalYesterdayMorning : 0
msgPutTotalTodayMorning : 0
msgPutTotalTodayNow : 1
msgPutTotalYesterdayMorning : 0
putMessageAverageSize : 217.0
putMessageDistributeTime :
0(0.0%)
1(100.0%)
0(0.0%)
0(0.0%)
0(0.0%)
0(0.0%)
0(0.0%)
putMessageEntireTimeMax : 6
putMessageSizeTotal : 217
putMessageTimesTotal : 1
putTps : 0.0 0.0 0.0
runtime : [ 0 days, 3 hours, 21 minutes, 1 seconds ]
sendThreadPoolQueueCapacity : 100000
sendThreadPoolQueueSize : 0
9.10. 根据消息ID查询消息(queryMsgById)
指令 queryMsgById 类路径 com.alibaba.rocketmq.tools.command.message.QueryMsgByIdSubCommand
参数 | 是否必填 | 说明 |
---|---|---|
-i | 是 | msgId |
-h | 否 | 打印帮助 |
-n | 是 | nameserve服务地址列表,格式ip:port;ip:port;… |
举例 查询msgId= 0A2D2FA800002A9F0000000000000000的消息,nameserve地址为10.45.47.168:9876
sh mqadmin queryMsgById –n 10.45.47.168:9876 –i 0A2D2FA800002A9F0000000000000000
打印内容:
Topic: ZTEExample
Tags: [SimpleTest]
Keys: [SimpleTest-1]
Queue ID: 0
Queue Offset: 0
CommitLog Offset: 0
Born Timestamp: 2014-02-26 14:49:10,875
Store Timestamp: 2014-02-26 14:48:44,840
Born Host: 10.45.46.229:4231
Store Host: 10.45.47.168:10911
System Flag: 0
Properties: {TAGS=SimpleTest, KEYS=SimpleTest-1, WAIT=true}
Message Body Path: /tmp/rocketmq/msgbodys/0A2D2FA800002A9F0000000000000000
9.11. 根据消息Key查询消息(queryMsgByKey)
指令 queryMsgByKey 类路径 com.alibaba.rocketmq.tools.command.message.QueryMsgByKeySubCommand
参数 | 是否必填 | 说明 |
---|---|---|
-f | 否 | 被查询消息的截止时间 |
-k | 是 | msgKey |
-t | 是 | Topic名称 |
-h | 否 | 打印帮助 |
-n | 是 | nameserve服务地址列表,格式ip:port;ip:port;… |
举例 查询Topic= ZTEExample下key= SimpleTest-1的消息,nameserve地址为10.45.47.168:9876
sh mqadmin queryMsgByKey -n 10.45.47.168:9876 -t ZTEExample -k SimpleTest-1
打印内容:
#Message ID #QID #Offset
0A2D2FA800002A9F0000000000000000 0 0
9.12. 根据Offset查询消息(queryMsgByKey)
指令 queryMsgByOffset 类路径 com.alibaba.rocketmq.tools.command.message.QueryMsgByOffsetSubCommand
参数 | 是否必填 | 说明 |
---|---|---|
-b | 是 | Broker名称,表示订阅组建在该broker(这里需要注意填写的是broker的名称,不是broker的地址,broker名称可以在clusterList查到) |
-i | 是 | query队列id |
-o | 是 | offset值 |
-t | 是 | topic名称 |
-h | 否 | 打印帮助 |
-n | 是 | nameserve服务地址列表,格式ip:port;ip:port;… |
举例 查询brokerName=crm-168,Topic= ZTEExample的第1个队列下offset=0的消息,nameserve地址为10.45.47.168:9876
sh mqadmin queryMsgByOffset -n 10.45.47.168:9876 -b crm-168 -i 0 -t ZTEExample -o 0
打印内容:
Topic: ZTEExample
Tags: [SimpleTest]
Keys: [SimpleTest-1]
Queue ID: 0
Queue Offset: 0
CommitLog Offset: 0
Born Timestamp: 2014-02-26 14:49:10,875
Store Timestamp: 2014-02-26 14:48:44,840
Born Host: 10.45.46.229:4231
Store Host: 10.45.47.168:10911
System Flag: 0
Properties: {TAGS=SimpleTest, KEYS=SimpleTest-1, WAIT=true}
Message Body Path: /tmp/rocketmq/msgbodys/0A2D2FA800002A9F0000000000000000
9.13. 查询Producer的网络连接(producerConnection)
l 该命令只打印当前与cluster连接的producer网络连接信息
指令 producerConnection 类路径 com.alibaba.rocketmq.tools.command.connection.ProducerConnectionSubCommand
参数 | 是否必填 | 说明 |
---|---|---|
-g | 是 | 生产者所属组名 |
-t | 是 | topic名称 |
-h | 否 | 打印帮助 |
-n | 是 | nameserve服务地址列表,格式ip:port;ip:port;… |
举例 查询当前属于group(生产者组)=simple-producer-test的生产者到topic=ZTEExample的网络连接,nameserve地址为10.45.47.168:9876
sh mqadmin producerConnection -n 10.45.47.168:9876 -g simple-producer-test -t ZTEExample
打印内容:
0001 10.45.46.229@simple-producer-test-99f09de2a20a4b6284bb949b452bee0c 10.45.46.229:4332 JAVA V3_0_7
9.14. 查询Consumer的网络连接(consumerConnection)
l 该命令只打印当前与cluster连接的consumer网络连接信息
指令 consumerConnection 类路径 com.alibaba.rocketmq.tools.command.connection.ConsumerConnectionSubCommand
参数 | 是否必填 | 说明 |
---|---|---|
-g | 是 | 消费者所属组名 |
-h | 否 | 打印帮助 |
-n | 是 | nameserve服务地址列表,格式ip:port;ip:port;… |
举例 查询当前属于group(消费者组)=simple-consumer-test的消费者的网络连接,nameserve地址为10.45.47.168:9876
sh mqadmin consumerConnection -n 10.45.47.168:9876 -g simple-consumer-test
打印内容:
001 10.45.46.229@simple-consumer-test-7babbb6021b040d29978494b16d559ae 10.45.46.229:4355 JAVA V3_0_7
Below is subscription:
001 Topic: ZTEExample SubExpression: *
ConsumeType: CONSUME_ACTIVELY
MessageModel: CLUSTERING
ConsumeFromWhere: CONSUME_FROM_LAST_OFFSET
9.15. 查看订阅组消费状态(consumerProgress)
指令 consumerProgress 类路径 com.alibaba.rocketmq.tools.command.consumer.ConsumerProgressSubCommand
参数 | 是否必填 | 说明 |
---|---|---|
-g | 是 | 消费者所属组名 |
-h | 否 | 打印帮助 |
-n | 是 | nameserve服务地址列表,格式ip:port;ip:port;… |
举例 查询当前属于group(消费者组)=simple-consumer-test的订阅状态,nameserve地址为10.45.47.168:9876
sh mqadmin consumerProgress -n 10.45.47.168:9876 -g simple-consumer-test
打印内容:
#Topic #Broker Name #QID #Broker Offset #Consumer Offset #Diff
ZTEExample crm-168 0 2 2 0
ZTEExample crm-168 1 0 0 0
ZTEExample crm-168 2 0 0 0
ZTEExample crm-168 3 0 0 0
ZTEExample crm-168 4 0 0 0
ZTEExample crm-168 5 0 0 0
ZTEExample crm-168 6 0 0 0
ZTEExample crm-168 7 0 0 0
Consume TPS: 0
Diff Total: 0
9.16.查看集群消息(clusterList)
指令 clusterList 类路径 com.alibaba.rocketmq.tools.command.cluster.ClusterListSubCommand
参数 | 是否必填 | 说明 |
---|---|---|
-m | 否 | 打印更多信息 (增加打印出如下信息 #InTotalYest, #OutTotalYest, #InTotalToday ,#OutTotalToday) |
-h | 否 | 打印帮助 |
-n | 是 | nameserve服务地址列表,格式ip:port;ip:port;… |
举例 查询当前集群状态,nameserve地址为10.45.47.168:9876
sh mqadmin clusterList -n 10.45.47.168:9876
打印内容:
#Cluster Name #Broker Name #BID #Addr #Version #InTPS #OutTPS
CRM crm-168 0 10.45.47.168:10911 V3_0_7 0.00 0.00
CRM crm-181 0 10.45.47.181:10911 V3_0_7 0.00 0.00
sh mqadmin clusterList -n 10.45.47.168:9876 –m
#Cluster Name #Broker Name #InTotalYest #OutTotalYest #InTotalToday #OutTotalToday
CRM crm-168 0 0 2 3
CRM crm-181 0 0 0 0
9.17.添加(更新)KV配置信息(updateKvConfig)
指令 updateKvConfig 类路径 com.alibaba.rocketmq.tools.command.namesrv.UpdateKvConfigCommand
参数 | 是否必填 | 说明 |
---|---|---|
-k | 是 | key值 |
-v | 是 | value值 |
-s | 是 | Namespace值 |
-h | 否 | 打印帮助 |
-n | 是 | nameserve服务地址列表,格式ip:port;ip:port;… |
举例
9.18. 删除KV配置信息(deleteKvConfig)
指令 deleteKvConfig 类路径 com.alibaba.rocketmq.tools.command.namesrv.DeleteKvConfigCommand
参数 | 是否必填 | 说明 |
---|---|---|
-k | 是 | key值 |
-s | 是 | Namespace值 |
-h | 否 | 打印帮助 |
-n | 是 | nameserve服务地址列表,格式ip:port;ip:port;… |
举例
9.19. 添加(更新)Project group配置信息(updateProjectGroup)
指令 updateProjectGroup 类路径 com.alibaba.rocketmq.tools.command.namesrv.UpdateProjectGroupCommand
参数 | 是否必填 | 说明 |
---|---|---|
-i | 是 | 服务器ip |
-p | 是 | project group名 |
-h | 否 | 打印帮助 |
-n | 是 | nameserve服务地址列表,格式ip:port;ip:port;… |
举例
9.20. 删除Projectgroup配置信息(deleteProjectGroup)
指令 deleteProjectGroup 类路径 com.alibaba.rocketmq.tools.command.namesrv.DeleteProjectGroupCommand
参数 | 是否必填 | 说明 |
---|---|---|
-i | 是 | 服务器ip |
-p | 是 | project group名 |
-h | 否 | 打印帮助 |
-n | 是 | nameserve服务地址列表,格式ip:port;ip:port;… |
举例
9.21. 取得Projectgroup配置信息(getProjectGroup)
指令 getProjectGroup 类路径 com.alibaba.rocketmq.tools.command.namesrv.GetProjectGroupCommand
参数 | 是否必填 | 说明 |
---|---|---|
-i | 是 | 服务器ip |
-p | 是 | project group名 |
-h | 否 | 打印帮助 |
-n | 是 | nameserve服务地址列表,格式ip:port;ip:port;… |
举例
9.22. 设置消费进度(resetOffsetByTime)
l 根据时间来设置消费进度,设置之前要关闭这个订阅组的所有consumer,设置完再启动,方可生效
指令 resetOffsetByTime 类路径 com.alibaba.rocketmq.tools.command.offset.ResetOffsetByTimeSubCommand
参数 | 是否必填 | 说明 |
---|---|---|
-f | 否 | 通过时间戳强制回滚(true |
-s | 是 | 时间戳 (currentTimeMillis |
-g | 是 | 消费者所属组名 |
-t | 是 | topic名称 |
-h | 否 | 打印帮助 |
-n | 是 | nameserve服务地址列表,格式ip:port;ip:port;… |
举例
9.23. 清除特定Broker权限(wipeWritePerm)
指令 wipeWritePerm 类路径 com.alibaba.rocketmq.tools.command.namesrv.WipeWritePermSubCommand
参数 | 是否必填 | 说明 |
---|---|---|
-b | 是 | broker地址 |
-h | 否 | 打印帮助 |
-n | 是 | nameserve服务地址列表,格式ip:port;ip:port;… |
举例
9.24. 获取Consumer消费进度(getConsumerStatus)
l 该命令只打印当前与cluster连接的consumer的消费进度
指令 getConsumerStatus 类路径 com.alibaba.rocketmq.tools.command.offset.GetConsumerStatusCommand
参数 | 是否必填 | 说明 |
---|---|---|
-g | 是 | 消费者所属组名 |
-t | 是 | 查询主题 |
-i | 否 | Consumer客户端ip |
-h | 否 | 打印帮助 |
-n | 是 | nameserve服务地址列表,格式ip:port;ip:port;… |
举例 查询属于group(消费者组)=simple-consumer-test的消费者在Topic=ZTEExample上的消费状态,nameserve地址为10.45.47.168:9876
sh mqadmin getConsumerStatus -n 10.45.47.168:9876 -g simple-consumer-test -t ZTEExample
get consumer status from client. group=simple-consumer-test, topic=ZTEExample, originClientId=
#clientId #brokerName #queueId #offset
10.45.46.229@simple-consumer-test-3f89fb692e874640 crm-168 4 0
10.45.46.229@simple-consumer-test-3f89fb692e874640 crm-168 0 2
10.45.46.229@simple-consumer-test-3f89fb692e874640 crm-168 3 0
10.45.46.229@simple-consumer-test-3f89fb692e874640 crm-168 1 0
10.45.46.229@simple-consumer-test-3f89fb692e874640 crm-168 5 0
10.45.46.229@simple-consumer-test-3f89fb692e874640 crm-168 6 0
10.45.46.229@simple-consumer-test-3f89fb692e874640 crm-168 7 0
10.45.46.229@simple-consumer-test-3f89fb692e874640 crm-168 2 0
10Rocketmq原理&最佳实践
https://www.jianshu.com/p/2838890f3284
11 Rocketmq windows下安装过程
一.预备环境
1.系统
Windows
2. 环境
JDK1.8、Maven、Git
二. RocketMQ部署
1.下载
1.1地址:http://rocketmq.apache.org/release_notes/release-notes-4.2.0/
1.2选择‘Binary’进行下载
1.3解压已下载工程
2. 配置
2.1 系统环境变量配置
变量名:ROCKETMQ_HOME
变量值:MQ解压路径\MQ文件夹名
2.2重启服务器
3. 启动
3.1 启动NAMESERVER
Cmd命令框执行进入至‘MQ文件夹\bin’下,然后执行‘start mqnamesrv.cmd’,启动NAMESERVER。成功后会弹出提示框,此框勿关闭。
3.2 启动BROKER
Cmd命令框执行进入至‘MQ文件夹\bin’下,然后执行‘start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true’,启动BROKER。成功后会弹出提示框,此框勿关闭。
假如弹出提示框提示‘错误: 找不到或无法加载主类 xxxxxx’。打开runbroker.cmd,然后将‘%CLASSPATH%’加上英文双引号。保存并重新执行start语句。
三. RocketMQ插件部署
- 下载
地址:https://github.com/apache/rocketmq-externals.git
下载完成之后,进入‘rocketmq-externals\rocketmq-console\src\main\resources’文件夹,打开‘application.properties’进行配置。
2. 编译启动
进入‘\rocketmq-externals\rocketmq-console’文件夹,执行‘mvn clean package -Dmaven.test.skip=true’,编译生成。
编译成功之后,Cmd进入‘target’文件夹,执行‘java -jar rocketmq-console-ng-1.0.0.jar’,启动‘rocketmq-console-ng-1.0.0.jar’。
3.测试
浏览器中输入‘127.0.0.1:配置端口’,成功后即可查看。