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
发布了233 篇原创文章 · 获赞 211 · 访问量 90万+

猜你喜欢

转载自blog.csdn.net/fgyibupi/article/details/104059862