Windows 下借助Docker 安装
安装之前请确保Windows下 Docker 环境已经配置完成
1,镜像拉取
docker pull rocketmqinc/rocketmq:latest
2,启动 namesrv
docker run -d -p 9876:9876 -v D:/Docker/rocketmq/namesrv/logs:/root/logs -v D:/Docker/rocketmq/namesrv/store:/root/store --name rmqnamesrv -e "MAX_POSSIBLE_HEAP=100000000" 09bbc30a03b6 sh mqnamesrv
namesrv 作用
1,定位为注册中心,保存broker节点库路由信息
2,支持集群模式,每个 namesrv 之间不进行任何通信,多点容灾通过 producer/consumer 再访问 namesrv 时候轮询获取信息(当前节点访问失败就转向下一个)。
3,namesrv 作为注册中心,负责接收 broker 定期注册信息并维持再内存中,所有数据都保存在内存中,broker 定期的注册过程的也是遍历所有 namesrv 进行注册;
4,namesrv 提供对外接口对 producer 和 consumer 访问 broker 路由信息,底层用 netty 来实现。
5,namesrv 对 broker 存活检测采用心跳机制,即 namesrv 作为 broker 的 server 端定期接收 broker 的心跳信息,超时无心跳就移出 broker ,底层通过 epoll 的消息机制来检测连接是否稳定。
3,启动 broker命令
docker run -d -p 10911:10911 -p 10909:10909 -v D:/Docker/rocketmq/bocker/logs:/root/logs -v D:/Docker/rocketmq/bocker/store:/root/store -v D:/Docker/rocketmq/bocker/conf/broker.conf:/opt/rocketmq/conf/broker.conf --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" 09bbc30a03b6 sh mqbroker -c /opt/rocketmq/conf/broker.conf
启动bocker前需要修改下 bocker.conf 配置文件, 本人的bocker.conf 的安装路径为 D:/programCoding/Docker/rocketmq/conf
brokerClusterName = DefaultCluster // 消费模式,默认集群
brokerName = broker-a
brokerId = 0
deleteWhen = 04// 清除未被消费消息时间,凌晨四点
fileReservedTime = 48 // 消息保留时间
brokerRole = ASYNC_MASTER // broker角色,默认为异步MASTER
flushDiskType = ASYNC_FLUSH // 刷盘策略,异步刷盘
brokerIP1 = 192.168.31.193 //Linux下填Linux公网Ip,Windows利用 docker inspect 09bbc30a03b6,查看IPAddress
4, 拉取 Rocket-console 控制台
docker pull styletang/rocketmq-console-ng
4.1 docker 启动 Rocket-console
docker run -d -e "JAVA_OPTS=-Drocketmq.config.namesrvAddr=192.168.31.193:9876 -Drocketmq.config.isVIPChannel=false" -p 9999:8080 -t --name rmConsole 7df83bb6e638
浏览器输入 localhost:9999,即可看到安装预览效果