1. 源码下载编译
https://github.com/apache/rocketmq
下载后配置maven jdk8+
drwxr-xr-x. 23 root root 4096 9月 13 22:29 rocketmq-rocketmq-all-4.7.1
-rw-r--r--. 1 root root 3526703 9月 13 22:25 rocketmq-rocketmq-all-4.7.1.zip
进入 rocketmq-rocketmq-all-4.7.1执行编译
mvn -Prelease-all -DskipTests clean install -U
编译完成后在 rocketmq-rocketmq-all-4.7.1/distribution/target 有 rocketmq-4.7.1文件夹 复制到安装目录即可
drwxr-xr-x. 2 root root 6 9月 13 22:32 archive-tmp
-rw-r--r--. 1 root root 87 9月 13 22:34 checkstyle-cachefile
-rw-r--r--. 1 root root 6066 9月 13 22:34 checkstyle-checker.xml
-rw-r--r--. 1 root root 83 9月 13 22:34 checkstyle-result.xml
drwxr-xr-x. 3 root root 22 9月 13 22:32 maven-shared-archive-resources
drwxr-xr-x. 3 root root 82 9月 14 01:14 rocketmq-4.7.1
-rw-r--r--. 1 root root 13811118 9月 13 22:34 rocketmq-4.7.1.tar.gz
-rw-r--r--. 1 root root 13852748 9月 13 22:34 rocketmq-4.7.1.zip
2. RocketMqNameServer
2.1. 构建docker镜像
2.1.1. Dockerfile
FROM lol155/centos-jdk
LABEL name=lol155 desc=rocketmq-namesrv-test version=4.7.1
COPY rocketmq-4.7.1 /opt/rocketmq-4.7.1
EXPOSE 9876
ENV NAMESRV_ADDR=localhost:9876
WORKDIR /opt/rocketmq-4.7.1
CMD bin/mqnamesrv -n ${NAMESRV_ADDR}
2.1.2. build命令
docker build -t lol155/rocketmq-namesrv-test:4.7.1 .
2.2. 启动
docker run -d -p 9876:9876 -e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m" --name rmqserver lol155/rocketmq-namesrv-test:4.7.1
3. broker
3.1. 构建docker镜像
3.1.1. Dockerfile
FROM lol155/centos-jdk
LABEL name=lol155 desc=rocketmq-broker-test version=4.7.1
COPY rocketmq-4.7.1 /opt/rocketmq-4.7.1
WORKDIR /opt/rocketmq-4.7.1
EXPOSE 10909 10911 10912
ENV NAMESRV_ADDR=localhost:9876
ENV CONFIG_PATH=conf/broker.conf
CMD bin/mqbroker -n ${NAMESRV_ADDR} -c ${CONFIG_PATH} autoCreateTopicEnable=true
3.1.2. build命令
docker build -t lol155/rocketmq-broker-test:4.7.1 .
3.2. 启动
启动前创建 /etc/rmq/broker.conf
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
brokerIP1=192.168.89.41 //这个是后加的需要改为部署机器IP
运行
docker run -d -p 10911:10911 -p 10909:10909\
--name rmqbroker --link rmqserver:namesrv\
-e "NAMESRV_ADDR=namesrv:9876" \
-e "CONFIG_PATH=/opt/rocketmq-4.7.1/conf/broker.conf" \
-e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m"\
-v /etc/rmq/broker.conf:/opt/rocketmq-4.7.1/conf/broker.conf \
lol155/rocketmq-broker-test:4.7.1
4. rocketmq console
https://github.com/apache/rocketmq-externals/tree/master/rocketmq-console
编译好或者直接下个jar包
4.1. Dockerfile
FROM lol155/centos-jdk
LABEL name=lol155 desc=rocketmq-console version=1.0.1
COPY rocketmq-console-ng-1.0.1.jar /opt/rocketmq-console-ng-1.0.1.jar
WORKDIR /opt
EXPOSE 8080
CMD java -jar ${JAVA_OPTS} rocketmq-console-ng-1.0.1.jar
4.2. 构建
docker build -t lol155/rocketmq-console:1.0.1 .
4.3. 运行
docker run --name rmqconsole -d \
-p 9999:8080 \
--link rmqserver:namesrv \
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false -Duser.timezone='Asia/Shanghai'" \
-v /etc/localtime:/etc/localtime \
-t lol155/rocketmq-console:1.0.1
5. 基本操作命令
5.1. MQAdmin
5.1.1. 创建Topic updateTopic
./mqadmin updateTopic -b localhost:10911 -t MyTopic
5.1.2. 删除Topic deleteTopic
./mqadmin deleteTopic -n localhost:9876 -c localhost:10911 -t MyTopic
5.1.3. Topic列表 topicList
./mqadmin topicList -n localhost:9876
5.1.4. Topic信息 topicStatus
./mqadmin topicStatus -n localhost:9876 -t MyTopic
5.1.5. Topic 路由信息 topicRoute
./mqadmin topicRoute -n localhost:9876 -t MyTopic
5.1.6. Broker状态信息 brokerStatus
./mqadmin brokerStatus -n localhost:9876 -b localhost:10911
5.1.7. Broker配置信息 brokerStatus
./mqadmin getBrokerConfig -n localhost:9876 -b localhost:10911
5.1.8. 性能测试
./mqadmin sendMsgStatus -n localhost:9876 -b broker-a -c 10