RocketMQ Github地址:https://github.com/apache/rocketmq
下载最新版本 :https://github.com/apache/rocketmq/archive/refs/tags/rocketmq-all-4.9.4.tar.gz
一、Linux 安装启动RocketMQ
wget https://dlcdn.apache.org/rocketmq/4.9.4/rocketmq-all-4.9.4-source-release.zip
unzip rocketmq-all-4.9.4-source-release.zip
cd rocketmq-all-4.9.4-source-release/
mvn -Prelease-all -DskipTests clean install -U
cd distribution/target/rocketmq-4.9.4/rocketmq-4.9.4
# 启动namesrv
nohup sh bin/mqnamesrv &
tail -f ~/logs/rocketmqlogs/namesrv.log
#The Name Server boot success...
#启动broker
nohup sh bin/mqbroker -n localhost:9876 &
tail -f ~/logs/rocketmqlogs/broker.log
#The broker[%s, 172.26.159.104:10911] boot success...
##发送和接收消息测试
> 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...
##关闭 broker 和 namesrv
> 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
二、Docker 安装使用RocketMQ
ROCKETMQDIR="/docker/rocketmq/4.9.3"
mkdir -p ${ROCKETMQDIR}
mkdir -p ${ROCKETMQDIR}/namesrv
mkdir -p ${ROCKETMQDIR}/broker/broker-a
# 拉取 docker 镜像
docker pull apache/rocketmq:4.9.3
# 创建 rocketmq 网络
docker network create rocketmq
# 一、启动 nameserver
docker run -d \
--name rocketmq-namesrv \
--network rocketmq \
-p 9876:9876 \
-v ${ROCKETMQDIR}/namesrv/logs:/root/logs \
-v ${ROCKETMQDIR}/namesrv/store:/root/store \
apache/rocketmq:4.9.3 \
sh mqnamesrv
# 二、启动 broker
# 复制默认的配置
docker cp rocketmq-namesrv:/home/rocketmq/rocketmq-4.9.3/conf ${ROCKETMQDIR}/broker/broker-a/
# 修改配置信息,vim ${ROCKETMQDIR}/broker/broker-a/
# 复制broker.conf ,修改ip 为外网可访问的地址。
# 设置内存大小启动
docker run -d \
--name rocketmq-broker-a \
--network rocketmq \
-p 10909:10909 \
-p 10911:10911 \
-v ${ROCKETMQDIR}/broker/broker-a/logs:/root/logs \
-v ${ROCKETMQDIR}/broker/broker-a/store:/root/store \
-v ${ROCKETMQDIR}/broker/broker-a/conf:/home/rocketmq/rocketmq-4.9.3/conf \
-e "JAVA_OPT_EXT=-server -Xms512m -Xmx512m -Xmn256m" \
apache/rocketmq:4.9.3 \
sh mqbroker -c /home/rocketmq/rocketmq-4.9.3/conf/broker.conf
#三、console控制台搭建
# 创建容器
docker run -d \
--name rocketmq-console \
--network rocketmq \
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=rocketmq-namesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" \
-p 8000:8080 \
apacherocketmq/rocketmq-dashboard:latest