docker快速搭建rocketmq环境
创建目录和文件
# 目录:替换成一个合适的目录
mkdir 目录/rocketmq-all-4.4.0 && $_
mkdir -p data/namesrv/logs data/namesrv/store data/broker/logs data/broker/store conf
在conf
目录下创建文件broker.conf
,并写入如下内容:
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
#名称服务地址 宿主机的本地外网 IP:9876
namesrvAddr=192.168.1.5:9876
安装 rocketmq
拉取镜像
docker pull rocketmqinc/rocketmq:4.4.0
启动名称服务
docker run -d -p 9876:9876 --name rmqnamesrv \
-v $PWD/data/namesrv/logs:/root/logs \
-v $PWD/data/namesrv/store:/root/store \
-e "MAX_POSSIBLE_HEAP=100000000" \
rocketmqinc/rocketmq:4.4.0 sh mqnamesrv
启动 broker 服务
docker run -d -p 10911:10911 -p 10909:10909 --name rmqbroker \
-v $PWD/data/broker/logs:/root/logs \
-v $PWD/data/broker/store:/root/store \
-v $PWD/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf \
--link rmqnamesrv:namesrv \
-e "NAMESRV_ADDR=namesrv:9876" \
-e "MAX_POSSIBLE_HEAP=200000000" \
rocketmqinc/rocketmq:4.4.0 sh mqbroker \
-c /opt/rocketmq-4.4.0/conf/broker.conf
安装 rocketmq 控制台
方式一 Docker
拉取镜像
docker pull styletang/rocketmq-console-ng
启动 控制台 服务
docker run -p 8081:8080 --name rmq-console \
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.1.5:9876 \
-Dcom.rocketmq.sendMessageWithVIPChannel=false" \
-t styletang/rocketmq-console-ng
方式二 下载源码编译打包运行
下载源码
https://github.com/apache/rocketmq-externals/archive/master.zip
解压,进入到 rocketmq-console
- 修改application.properties的配置信息(这一步非必要操作,也可以 启动命令 指定)
# 你搭建环境的,多个地址分号分隔
rocketmq.config.namesrvAddr=xx.xx.xx.21:9876;xx.xx.xx.22:9867
-
修改pom.xml
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <!-- <version>1.4.3.RELEASE</version> --> <version>2.0.4.RELEASE</version> <!-- 修改1 --> </parent> <properties> ... <!-- <java.version>1.7</java.version> --> <java.version>1.7</java.version> <!-- 修改2 --> ... </properties> ...
-
终端执行mvn打包命令
mvn clean package -Dmaven.test.skip=true
-
终端命令启动
java -jar rocketmq-console-ng-1.0.0.jar --server.port=8899 --rocketmq.config.namesrvAddr=xx.xx.0.64:9876;xx.xx.0.65:9876
启动参数:- –server.port 为运行的这个web应用的端口,如果不设置的话默认为8080
- –rocketmq.config.namesrvAddr为RocketMQ命名服务地址