RocketMq 是阿里捐献给apche的一个MQ框架.
RocketMq 是JAVA语音实现的,所以必须的有Java环境.
这里有几点值得注意,默认配置是是有点大的,我们跑个虚拟机用不掉这么搞得配置. 所以有几个配置需要修改小配置.
- mqadminsrv
1 | JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m" |
- runbroker.sh
1 | JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m" |
- conf/broker.conf 添加一个配置
1 | autoCreateTopicEnable=true |
分别启动 nameservice 和 broker
1 | nohup bin/mqnamesrv & |
- 设置环境变量
我自己设置的路径是 /etc/profile
1 | export NAMESRV_ADDR='localhost:9876' |
设置完成 记得 source 下;
验证
1 | bin/tools.sh org.apache.rocketmq.example.quickstart.Producer |
执行如上命令 会发送 1000天消息给broker.
大概长这里
1 | SendResult [sendStatus=SEND_OK, msgId=C0A80102E5C74DC639964641EB0A03E4, offsetMsgId=C0A8010200002A9F000000000002BBE2, messageQueue=MessageQueue [topic=TopicTest, brokerName=localhost.home1, queueId=1], queueOffset=249] |
到这里简单的 RocketMq 环境就已经搭建好了.
管理控制台搭建
RocketMQ源代码中并没有提供控制台, rocketmq-externals
下载源码 并 编译
进入connect-console 目录下编译
1 | mvn clean package -Dmaven.test.skip=true |
配置application.properties
进入connect-console 编译完成后的 target 目录下.rocketmq-console-ng-2.0.0.jar 也在该目录下,新创建一个application.properties文件,并添加如下配置.
1 | rocketmq.config.namesrvAddr=worker1:9876;worker2:9876;worker3:9876 |
如果有多个就配置多个.
执行
1 | nohup java -jar rocketmq-console-ng-2.0.0.jar |
验证
访问ip:8080