部署流程
前期准备
本地环境:
macOS 10.14.6
docker
1.拉取官方镜像
docker pull rocketmqinc/rocketmq
成功拉取可以看到对应镜像:
2.运行docker容器
运行nameserver:
docker run -d -p 9876:9876 -v `pwd`/data/namesrv/logs:/root/logs -v `pwd`/data/namesrv/store:/root/store --name rmqnamesrv rocketmqinc/rocketmq sh mqnamesrv
运行broker:
docker run -d -p 10911:10911 -p 10909:10909 -v `pwd`/data/broker/logs:/root/logs -v `pwd`/data/broker/store:/root/store --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" rocketmqinc/rocketmq sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf
注意点:
- /opt/rocketmq-4.4.0/conf/broker.conf 为容器内对应配置文件的路径
- 为避免端口不可访问的情况,要记得关掉防火墙
- 通过docker跑起来的broker,其cluster地址默认为docker的ip,外网无法访问需要更改其ip,具体操作见下文。
注意点3操作流程:
- 进入容器内,修改配置文件
docker exec -it broker容器id /bin/sh
进入到容器后:
vi /opt/rocketmq-4.4.0/conf/broker.conf
在broker.conf文件内新增brokerIP1属性,即:
brokerIP1 = 本机外网ip地址
修改完成后保存退出
- 重启容器
docker container restart broker容器id
// 注:前文运行broker命令中的 -c /opt/rocketmq-4.4.0/conf/broker.conf, 即表示使用此配置文件
至此,rocketmq的nameserver和broker就已经在本地部署完成了
3.部署可视化界面
1.拉取rocketmq-console镜像
docker pull styletang/rocketmq-console-ng
2.运行rocketmq-console
docker run -e "JAVA_OPTS=-Drocketmq.namesrv.addr=本机外网ip:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8001:8080 -t styletang/rocketmq-console-ng
3.查看主页
http://localhost:8001