linux运维MQ

Linux环境下配置RocketMQ

2020-01-03  本文已影响0人  yunqing_71

关注我、精彩文章第一时间推送给你!

公众号.jpg

会用docker之后才发现,这玩意真香哈哈

首先linux下yum、docker全部配置国内源,为了拉取快速。

拉取rocketmq镜像

docker pull rocketmqinc/rocketmq:latest

安装namesrv

docker run -d -p 9876:9876 -v /usr/local/docker/rocketmq/data/namesrv/logs:/root/logs -v /usr/local/docker/rocketmq/data/namesrv/store:/root/store --name rmqnamesrv -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq:latest sh mqnamesrv

-d   # 后台运行
-p   #设置默认端口,这里rocketmq默认9876端口
-v  #设置映射本地目录到容器内的目录,这个注意我都是把本地的/usr/local/docker/rocketmq/**映射到容器内的对应目录的,这个可以改成你本地的linux目录,当然也可以和我一样。我理解的就是MQ的数据和日志什么的不能放在容器中啊,因为容器毕竟占用的空间有限,就映射一下放在本地目录中。

安装 broker

/usr/local/docker/rocketmq/conf/broker.conf
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
brokerIP1 = 192.168.8.128
docker run -d -p 10911:10911 -p 10909:10909 -v  /usr/local/docker/rocketmq/data/broker/logs:/root/logs -v  /usr/local/docker/rocketmq/data/broker/store:/root/store -v  /usr/local/docker/rocketmq/conf/broker.conf:/opt/rocketmq-latest/conf/broker.conf --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq:latest sh mqbroker -c /opt/rocketmq-latest/conf/broker.conf

安装 rocketmq 控制台

docker pull pangliang/rocketmq-console-ng
docker run -d -e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.8.128:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 18080:8080 -t pangliang/rocketmq-console-ng

全部启动这3个容器后可通过下面命令查看容器运行状态

docker ps -a
image.png

注意注意:一定要开启防火墙的相应端口

firewall-cmd --zone=public --add-port=9876/tcp --permanent  #开启9876端口
#10911
#10909
#18080
firewall-cmd --reload

检验成果的时候到了

image.png
image.png

到这里突然想只把rocketmq部署在linux上,而控制台跑在本地windows上

mvn clean package -Dmaven.test.skip=true
@echo off
java -jar target/rocketmq-console-ng-1.0.1.jar --server.port=8080 --rocketmq.config.namesrvAddr=192.168.8.128:9876
@pause

遇到一个问题记录一下,连接不成功

vim /usr/lib/sysctl.d/00-system.conf
 net.ipv4.ip_forward=1
systemctl restart network
docker stop $(docker ps -a -q)  #停止所有docker容器
docker rm $(docker ps -a -q)  #删除所有
image.png
上一篇 下一篇

猜你喜欢

热点阅读