0%

RocketMq 环境搭建

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
2
3
nohup bin/mqnamesrv &

nohup bin/mqbroker &
  • 设置环境变量

我自己设置的路径是 /etc/profile

1
export NAMESRV_ADDR='localhost:9876'

设置完成 记得 source 下;

验证

1
bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

执行如上命令 会发送 1000天消息给broker.

大概长这里

1
2
3
4
5
6
SendResult [sendStatus=SEND_OK, msgId=C0A80102E5C74DC639964641EB0A03E4, offsetMsgId=C0A8010200002A9F000000000002BBE2, messageQueue=MessageQueue [topic=TopicTest, brokerName=localhost.home1, queueId=1], queueOffset=249]
SendResult [sendStatus=SEND_OK, msgId=C0A80102E5C74DC639964641EB0C03E5, offsetMsgId=C0A8010200002A9F000000000002BC96, messageQueue=MessageQueue [topic=TopicTest, brokerName=localhost.home1, queueId=2], queueOffset=249]
SendResult [sendStatus=SEND_OK, msgId=C0A80102E5C74DC639964641EB0D03E6, offsetMsgId=C0A8010200002A9F000000000002BD4A, messageQueue=MessageQueue [topic=TopicTest, brokerName=localhost.home1, queueId=3], queueOffset=249]
SendResult [sendStatus=SEND_OK, msgId=C0A80102E5C74DC639964641EB0F03E7, offsetMsgId=C0A8010200002A9F000000000002BDFE, messageQueue=MessageQueue [topic=TopicTest, brokerName=localhost.home1, queueId=0], queueOffset=249]
15:25:25.189 [NettyClientSelector_1] INFO RocketmqRemoting - closeChannel: close the connection to remote address[127.0.0.1:9876] result: true
15:25:25.196 [NettyClientSelector_1] INFO RocketmqRemoting - closeChannel: close the connection to remote address[192.168.1.2:10911] result: true

到这里简单的 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

mq-r1