ToB企服应用市场:ToB评测及商务社交产业平台

标题: Docker 摆设 RocketMQ (图文并茂超具体) [打印本页]

作者: 诗林    时间: 2024-11-24 16:00
标题: Docker 摆设 RocketMQ (图文并茂超具体)
摆设 RocketMQ ( Docker )

[Step 1] :拉取 RocketMQ 镜像
  1. docker pull apache/rocketmq:5.1.0
复制代码



[Step 2] : 创建容器共享网络 rocketmq
  1. docker network create rocketmq
复制代码
为什么要创建 docker 共享网络?


[Step 3] : 摆设 NameServer 条件条件
创建目录➡️ 授予文件 ➡️ 创建容器 ➡️ 拷贝启动脚本 ➡️ 删除容器
  1. # 创建目录
  2. mkdir -p /data/rocketmq/nameserver/{bin,logs}
  3. # 授权文件
  4. chmod 777 -R /data/rocketmq/nameserver/*
  5. # 创建容器
  6. docker run -d \
  7. --privileged=true --name rmqnamesrv \
  8. apache/rocketmq:5.1.0 sh mqnamesrv
  9. # 拷贝启动脚本
  10. docker cp rmqnamesrv:/home/rocketmq/rocketmq-5.1.0/bin/runserver.sh /data/rocketmq/nameserver/bin/
  11. # 删除容器 NameServer
  12. docker rm -f rmqnamesrv
复制代码

[Step 4] : 启动容器**<font style="color:rgb(38, 38, 38);">NameServer</font>**
  1. # 启动容器 NameServer
  2. docker run -d --network rocketmq \
  3. --privileged=true --restart=always \
  4. --name rmqnamesrv -p 9876:9876 \
  5. -v /data/rocketmq/nameserver/logs:/home/rocketmq/logs \
  6. -v /data/rocketmq/nameserver/bin/runserver.sh:/home/rocketmq/rocketmq-5.1.0/bin/runserver.sh \
  7. apache/rocketmq:5.1.0 sh mqnamesrv
  8. # 部分命令解释 :
  9. 1. -e "MAX_HEAP_SIZE=256M" 设置最大堆内存和堆内存初始大小
  10. 2. -e "HEAP_NEWSIZE=128M"  设置新生代内存大小
  11. # 查看启动日志
  12. docker logs -f rmqnamesrv
复制代码

[Step 5] : 检察NameServer 启动日志




[Step 6] : 摆设 Broker + Proxy

  1. mkdir -p /data/rocketmq/broker/{store,logs,conf,bin}
  2. chmod 777 -R /data/rocketmq/broker/*
复制代码

[Step 7] : 创建**broker.cnf**文件
  1. vim /data/rocketmq/broker/conf/broker.conf
  2. # nameServer 地址多个用;隔开 默认值null
  3. # 例:127.0.0.1:6666;127.0.0.1:8888
  4. namesrvAddr = 192.168.100.100:9876
  5. # 集群名称
  6. brokerClusterName = DefaultCluster
  7. # 节点名称
  8. brokerName = broker-a
  9. # broker id节点ID, 0 表示 master, 其他的正整数表示 slave,不能小于0
  10. brokerId = 0
  11. # Broker服务地址        String        内部使用填内网ip,如果是需要给外部使用填公网ip
  12. brokerIP1 = 192.168.100.100
  13. # Broker角色
  14. brokerRole = ASYNC_MASTER
  15. # 刷盘方式
  16. flushDiskType = ASYNC_FLUSH
  17. # 在每天的什么时间删除已经超过文件保留时间的 commit log,默认值04
  18. deleteWhen = 04
  19. # 以小时计算的文件保留时间 默认值72小时
  20. fileReservedTime = 72
  21. # 是否允许Broker 自动创建Topic,建议线下开启,线上关闭
  22. autoCreateTopicEnable=true
  23. # 是否允许Broker自动创建订阅组,建议线下开启,线上关闭
  24. autoCreateSubscriptionGroup=true
  25. # 禁用 tsl
  26. tlsTestModeEnable = false
  27. # 下面是没有注释的版本, 记得修改"namesrvAddr", "brokerIP1"的地址
  28. namesrvAddr = 192.168.100.233:9876
  29. brokerClusterName = DefaultCluster
  30. brokerName = broker-a
  31. brokerId = 0
  32. brokerIP1 = 192.168.100.233
  33. brokerRole = ASYNC_MASTER
  34. flushDiskType = ASYNC_FLUSH
  35. deleteWhen = 04
  36. fileReservedTime = 72
  37. autoCreateTopicEnable=true
  38. autoCreateSubscriptionGroup=true
  39. tlsTestModeEnable = false
复制代码

[Step 8] : 拷贝启动脚本
  1. # 启动 Broker 容器
  2. docker run -d \
  3. --name rmqbroker --privileged=true \
  4. apache/rocketmq:5.1.0 sh mqbroker
  5. # 拷贝脚本文件
  6. docker cp rmqbroker:/home/rocketmq/rocketmq-5.1.0/bin/runbroker.sh /data/rocketmq/broker/bin
复制代码

[Step 9] : 启动容器 Broker
  1. # 删除容器 Broker
  2. docker rm -f rmqbroker
  3. # 启动容器 Broker
  4. docker run -d --network rocketmq \
  5. --restart=always --name rmqbroker --privileged=true \
  6. -p 10911:10911 -p 10909:10909 \
  7. -v /data/rocketmq/broker/logs:/root/logs \
  8. -v /data/rocketmq/broker/store:/root/store \
  9. -v /data/rocketmq/broker/conf/broker.conf:/home/rocketmq/broker.conf \
  10. -v /data/rocketmq/broker/bin/runbroker.sh:/home/rocketmq/rocketmq-5.1.0/bin/runbroker.sh \
  11. -e "NAMESRV_ADDR=rmqnamesrv:9876" \
  12. apache/rocketmq:5.1.0 sh mqbroker --enable-proxy -c /home/rocketmq/broker.conf
  13. # 查看启动日志
  14. docker logs -f rmqbroker
复制代码




[Step 10] : 摆设RocketMQ控制台(rocketmq-dashboard)

  1. docker pull apacherocketmq/rocketmq-dashboard:latest
复制代码



[Step 11] : 启动容器**Rocketmq-dashboard**
  1. docker run -d \
  2. --restart=always --name rmq-dashboard \
  3. -p 8080:8080 --network rocketmq \
  4. -e "JAVA_OPTS=-Xmx256M -Xms256M -Xmn128M -Drocketmq.namesrv.addr=rmqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" \
  5. apacherocketmq/rocketmq-dashboard
复制代码

[Step 12] : 检察启动日志
  1. docker logs -f rmq-dashboard
复制代码



[Step 13] : 访问RMQ控制台





[Step 14] : 检察创建的 RocketMQ


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4