部署流程
前期準備
本地環境:
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