docker-windows-指定ip启动rocketMQ及监控web
前提条件
1默认电脑已经安装好了docker,以及自定义配置docker的网络; 2若无请参考 https://www.helloworld.net/p/8667165341
rocket安装
rocketMQ说明
1rocketMQ整个环境只需要两个images 2rocketmqinc/rocketmq 以及 styletang/rocketmq-console-ng 3rocketmqinc/rocketmq:有2个服务需要启动:namesrv 和 broker 4styletang/rocketmq-console-ng:监控web
rocketMQ - namesrv 和 broker启动
1.搜索rocketmq镜像
1### docker search rocketmq
2.拉取镜像
1### docker pull rocketmqinc/rocketmq
3.启动服务
3.1启动namesrv服务
1### docker run -d -p 9876:9876 -v D:/docker/mq/other/tmp/data/namesrv/logs:/root/logs -v D:/docker/mq/other/tmp/data/namesrv/store:/root/store --name rmqnamesrv -e "MAX_POSSIBLE_HEAP=100000000" --network zdd_docker_network --ip 172.18.0.2 rocketmqinc/rocketmq sh mqnamesrv 2 3 4#从-v开始说明 5# D:/docker/mq/other/tmp/data/namesrv/logs 日志 6# D:/docker/mq/other/tmp/data/namesrv/store 存储数据 7# --network zdd_docker_network --ip 172.18.0.2; zdd_docker_network自己网络名称, 172.18.0.2 自定网络中的ip 8
3.2 启动broker服务
需要自己根据路径创建一个broker.conf文件
着重关注 brokerIP1这个参数配置
1#所属集群名字 2brokerClusterName=rocketmq-cluster 3#broker名字,名字可重复,为了管理,每个master起一个名字,他的slave同他,eg:Amaster叫broker-a,他的slave也叫broker-a 4brokerName=broker-a 5#0 表示 Master,>0 表示 Slave 6brokerId=0 7#此处为电脑的ip 8brokerIP1 = 192.168.61.1 9 #在发送消息时,自动创建服务器不存在的topic,默认创建的队列数 10defaultTopicQueueNums=8 11 #是否允许 Broker 自动创建Topic,建议线下开启,线上关闭 12autoCreateTopicEnable=true 13#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭 14autoCreateSubscriptionGroup=true 15#Broker 对外服务的监听端口, 16listenPort=10911 17#删除文件时间点,默认凌晨 4点 18deleteWhen=04 19#文件保留时间,默认 48 小时 20fileReservedTime=48 21#commitLog每个文件的大小默认1G 22mapedFileSizeCommitLog=1073741824 23#ConsumeQueue每个文件默认存30W条,根据业务情况调整 24mapedFileSizeConsumeQueue=300000 25destroyMapedFileIntervalForcibly=120000 26redeleteHangedFileInterval=120000 27#限制的消息大小 28maxMessageSize=65536 29flushCommitLogLeastPages=4 30flushConsumeQueueLeastPages=2 31flushCommitLogThoroughInterval=10000 32flushConsumeQueueThoroughInterval=60000 33#Broker 的角色 34brokerRole=ASYNC_MASTER 35#刷盘方式 36flushDiskType=ASYNC_FLUSH 37checkTransactionMessageEnable=false 38#发消息线程池数量 39sendMessageTreadPoolNums=128 40#拉消息线程池数量 41pullMessageTreadPoolNums=128 42
启动服务命令
1### docker run -d -p 10911:10911 -p 10909:10909 -v D:/docker/mq/other/tmp/data/broker/logs:/root/logs -v D:/docker/mq/other/tmp/data/broker/store:/root/store -v D:/docker/mq/other/tmp/conf/broker.conf:/opt/rocketmq/conf/broker.conf --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" --network zdd_docker_network --ip 172.18.0.3 rocketmqinc/rocketmq sh mqbroker -c /opt/rocketmq/conf/broker.conf 2 3#着重关注这个路径 4#D:/docker/mq/other/tmp/conf/broker.conf 此为conf配置文件
rocketmq控制台
1.搜索rocketmq-console
1### docker search rocketmq-console
2.拉取镜像
1### docker pull styletang/rocketmq-console-ng
3.后台运行
1### docker run -d -e "JAVA_OPTS=-Drocketmq.config.namesrvAddr=172.18.0.2:9876 -Drocketmq.config.isVIPChannel=false" -p 9999:8080 -t --name rmConsole --network zdd_docker_network --ip 172.18.0.4 styletang/rocketmq-console-ng 2 3注意:Drocketmq.config.namesrvAddr=172.18.0.2:9876 中的172.18.0.2 为namesrv服务启动时指定的docker网络ip
4.网页访问 RocketMq-console-ng