2. RocketMQ安裝部署

下載

請到 rocketmq官方地址 下載最新的rocketmq。
我這裏下載的是 rocketmq-all-4.6.0-bin-release.zip 。

其他裝備:JDK 1.8+;64位centos系統。

部署並啓動服務

將下載的rocketmq-all-4.6.0-bin-release.zip上傳到Linux系統進行解壓unzip rocketmq-all-4.6.0-bin-release.zip

修改java堆大小

由於rocketmq默認的堆太大,如果是自己機器上搭建測試集羣,很可能會由於內存不足而啓動失敗:

Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000005c0000000, 8589934592, 0) failed; error='Cannot allocate memory' (errno=12)

所以這裏要首先去修改一下配置。

runserver.sh java堆調小

#JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

runbroker.sh java堆調小

#JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"

上面參數只是爲了啓動測試服務。實際生產根據機器內存進行配置。

Start Name Server

> nohup sh bin/mqnamesrv &
> tail -f ~/logs/rocketmqlogs/namesrv.log
  The Name Server boot success...

啓動後可以在日誌中看到啓動成功日誌,並且jps會看到NamesrvStartup進程。

Start Broker

> nohup sh bin/mqbroker -n localhost:9876 &
> tail -f ~/logs/rocketmqlogs/broker.log 
  The broker[%s, 172.30.30.233:10911] boot success...

啓動成功後會看到BrokerStartup進程。

[root@node1 bin]# jps
1877 BrokerStartup
2310 Jps
1851 NamesrvStartup

測試發送消息

這裏先使用官方的控制檯的方式來發送消息:

> export NAMESRV_ADDR=localhost:9876
 > sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
 SendResult [sendStatus=SEND_OK, msgId= ...

上面命令會持續發送多條消息,發送完成後程序退出。

測試消費消息

使用官方的控制檯的方式來消費消息

 > sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
 ConsumeMessageThread_%d Receive New Messages: [MessageExt...

從日誌中可以看到是多線程消費的,日誌中打印了線程id。

停止服務

> sh bin/mqshutdown broker
The mqbroker(36695) is running...
Send shutdown request to mqbroker(36695) OK

> sh bin/mqshutdown namesrv
The mqnamesrv(36664) is running...
Send shutdown request to mqnamesrv(36664) OK

常用命令

查看集羣情況: ./mqadmin clusterList -n 127.0.0.1:9876
查看 broker 狀態: ./mqadmin brokerStatus -n 127.0.0.1:9876 -b 172.20.1.138:10911
查看 topic 列表: ./mqadmin topicList -n 127.0.0.1:9876
查看 topic 狀態: ./mqadmin topicStatus -n 127.0.0.1:9876 -t MyTopic (換成想查詢的 topic)
查看 topic 路由: ./mqadmin topicRoute -n 127.0.0.1:9876 -t MyTopic
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章