初始化提交

This commit is contained in:
2025-10-07 15:58:15 +08:00
commit 0e593caf99
378 changed files with 77890 additions and 0 deletions

View File

@@ -0,0 +1,75 @@
# 文件: /data/rocketmq/conf/broker-a-s.conf
# 在Controller模式下Broker配置必须设置 enableControllerMode=true并填写 controllerAddr并以下面命令启动
# $ nohup sh bin/mqbroker -c broker.conf &
# 自动主备切换模式下Broker无需指定brokerId和brokerRole其由Controller组件进行分配
# Broker 集群名称
brokerClusterName = ProdCluster
# Broker 逻辑组名称(主从共享)
brokerName=broker-a
# 设置为 0 表示主节点
# brokerId=0
# Broker 角色:同步主节点到从节点
# brokerRole=SYNC_MASTER
# 定义对外的IP
# brokerIP1=172.24.16.7
# 启动acl规则
# aclEnable=true
# 文件保留时间(小时)
fileReservedTime=48
# 定时清理文件时间 (天)
deleteWhen=04
# 是否自动创建 Topic
autoCreateTopicEnable = false
# 磁盘刷写方式:同步刷下磁盘
flushDiskType=SYNC_MASTER
# Broker 监听客户端连接的端口
listenPort=10911
# NameServer 地址(多个以分号分隔)
namesrvAddr=172.24.16.13:9876
# 启用主从机制
enableControllerMode = true
# Controller地址
controllerAddr=172.24.16.13:9876
# 向 controller 同步 Broker 副本信息的时间间隔
syncBrokerMetadataPeriod = 5000
# 检查 SyncStateSet 的时间间隔,检查 SyncStateSet 可能会 shrink SyncState
checkSyncStateSetPeriod = 5000
# 同步 controller 元数据的时间间隔,主要是获取 active controller 的地址
syncControllerMetadataPeriod = 10000
# 表示 Slave 没有跟上 Master 的最大时间间隔,若在 SyncStateSet 中的 slave 超过该时间间隔会将其从 SyncStateSet 移除
haMaxTimeSlaveNotCatchup = 15000
# 存储 epoch 文件的位置
storePathEpochFile = /data/rocketmq/store/epoch
# 若该值为 true则一条消息需要复制到 SyncStateSet 中的每一个副本才会向客户端返回成功,可以保证消息不丢失。
allAckInSyncStateSet = false
# 若 slave 是空盘启动,是否从最后一个文件进行复制。
syncFromLastFile = false
# 若该值为 true则该副本不会进入 SyncStateSet也就是不会被选举成 Master而是一直作为一个 learner 副本进行异步复制。
asyncLearner = false
# 需保持同步的副本组数量默认为1allAckInSyncStateSet=true 时该参数无效
inSyncReplicas = 1
# 最小需保持同步的副本组数量,若 SyncStateSet 中副本个数小于 minInSyncReplicas 则 putMessage 直接返回 PutMessageStatus.IN_SYNC_REPLICAS_NOT_ENOUGH
minInSyncReplicas = 1
# Broker-A 主节点存储路径
storePathRootDir=/data/rocketmq/store/broker-a-s
storePathCommitLog=/data/rocketmq/store/broker-a-s/commitlog
storePathConsumeQueue=/data/rocketmq/store/broker-a-s/consumequeue
storePathIndex=/data/rocketmq/store/broker-a-s/index
storeCheckpoint=/data/rocketmq/store/broker-a-s/checkpoint
abortFile=/data/rocketmq/store/broker-a-s/abort

View File

@@ -0,0 +1,74 @@
# 文件: /data/rocketmq/conf/broker-a.conf
# 在Controller模式下Broker配置必须设置 enableControllerMode=true并填写 controllerAddr并以下面命令启动
# $ nohup sh bin/mqbroker -c broker.conf &
# 自动主备切换模式下Broker无需指定brokerId和brokerRole其由Controller组件进行分配
# Broker 集群名称
brokerClusterName = ProdCluster
# Broker 逻辑组名称(主从一致)
brokerName=broker-a
# 设置为 0 表示主节点
# brokerId=0
# Broker 角色:同步主节点到从节点
# brokerRole=SYNC_MASTER
# 启动acl规则
# aclEnable=true
# 磁盘刷写方式:同步刷下磁盘
flushDiskType=SYNC_MASTER
# Broker 对外端口
listenPort=10911
# NameServer 地址(多个以分号分隔)
namesrvAddr=172.24.16.13:9876
# Broker 外部访问 IP
brokerIP1 = 172.24.16.10
# 文件保留时间(小时)
fileReservedTime=48
# 定时清理文件时间 (天)
deleteWhen=04
# 是否自动创建 Topic
autoCreateTopicEnable = false
# 启用主从机制
enableControllerMode = true
# Controller地址
controllerAddr=172.24.16.13:9876
# 向 controller 同步 Broker 副本信息的时间间隔
syncBrokerMetadataPeriod = 5000
# 检查 SyncStateSet 的时间间隔,检查 SyncStateSet 可能会 shrink SyncState
checkSyncStateSetPeriod = 5000
# 同步 controller 元数据的时间间隔,主要是获取 active controller 的地址
syncControllerMetadataPeriod = 10000
# 表示 Slave 没有跟上 Master 的最大时间间隔,若在 SyncStateSet 中的 slave 超过该时间间隔会将其从 SyncStateSet 移除
haMaxTimeSlaveNotCatchup = 15000
# 存储 epoch 文件的位置
storePathEpochFile = /data/rocketmq/store/epoch
# 若该值为 true则一条消息需要复制到 SyncStateSet 中的每一个副本才会向客户端返回成功,可以保证消息不丢失。
allAckInSyncStateSet = false
# 若 slave 是空盘启动,是否从最后一个文件进行复制。
syncFromLastFile = false
# 若该值为 true则该副本不会进入 SyncStateSet也就是不会被选举成 Master而是一直作为一个 learner 副本进行异步复制。
asyncLearner = false
# 需保持同步的副本组数量默认为1allAckInSyncStateSet=true 时该参数无效
inSyncReplicas = 1
# 最小需保持同步的副本组数量,若 SyncStateSet 中副本个数小于 minInSyncReplicas 则 putMessage 直接返回 PutMessageStatus.IN_SYNC_REPLICAS_NOT_ENOUGH
minInSyncReplicas = 1
# Broker-A 主节点存储路径
storePathRootDir=/data/rocketmq/store/broker-a
storePathCommitLog=/data/rocketmq/store/broker-a/commitlog
storePathConsumeQueue=/data/rocketmq/store/broker-a/consumequeue
storePathIndex=/data/rocketmq/store/broker-a/index
storeCheckpoint=/data/rocketmq/store/broker-a/checkpoint
abortFile=/data/rocketmq/store/broker-a/abort

View File

@@ -0,0 +1,33 @@
# 文件:/data/rocketmq/conf/controller.properties
# Controller 集群名
controllerClusterName = ControllerCluster
# controller 节点名
controllerName = controller-1
controllerDLegerPeers = n0-172.24.16.13:40911
controllerDLegerSelfId = n0
# controller http rest api 端口
controllerHttpPort = 7070
# 开启 NameServer 内嵌 Controller 模式
enableControllerInNamesrv=true
# Controller 组名,集群内统一
controllerDLegerGroup=Prod-Cluster-ctrl-group
# 选举间隔
controllerElectionTimeoutMs = 3000
# 节点心跳超时
controllerHeartbeatTimeoutMs = 10000
# Controller 元数据存储路径
controllerStorePathRootDir=/data/rocketmq/store/controller
# 日志保留天数
fileReservedTime = 48

View File

@@ -0,0 +1,52 @@
# 启动 NameServer
export JAVA_HOME=/data/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
java -version
nohup sh bin/mqnamesrv > logs/nameserver.log 2>&1 &
# 启动 Controller
export JAVA_HOME=/data/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
java -version
nohup sh bin/mqcontroller -c conf/controller.properties > logs/controller.log 2>&1 &
# 启动 brocker主
export JAVA_HOME=/data/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
java -version
nohup sh bin/mqbroker -c conf/broker-a.properties > logs/broker-a.log 2>&1 &
# 启动 brocker从
export JAVA_HOME=/data/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
java -version
nohup sh bin/mqbroker -c conf/broker-a-s.properties > logs/broker-a-s.log 2>&1 &
nohup sh bin/mqnamesrv -c conf/controller.properties > logs/nameserver.log 2>&1 &
nohup sh bin/mqnamesrv -c conf/controller.properties > logs/nameserver.log 2>&1 &
nohup sh bin/mqnamesrv -c conf/namesrv-n0.properties > logs/controller.log 2>&1 &
----
nohup bin/mqcontroller -c conf/controller.conf > logs/controller.log 2>&1 &
nohup bin/mqnamesrv -c conf/namesrv.conf > logs/controller.log 2>&1 &
nohup sh bin/mqnamesrv -c ./conf/controller/cluster-3n-namesrv-plugin/namesrv-n0.conf > logs/nameserver.log 2>&1 &
nohup sh bin/mqbroker -c conf/controller/quick-start/broker-n0.conf > logs/brocker.log 2>&1 &
nohup sh bin/mqnamesrv > logs/nameserv.log 2>&1 &

View File

@@ -0,0 +1,27 @@
app-test-server 172.24.16.13 NameServer
app-prod-server01 172.24.16.10 Broker Master-0 (主)
app-prod-server02 172.24.16.7 Broker Slave-0 (从)
组件说明
1、NameServer + Controller (172.24.16.13)
提供服务注册与发现。
启用 Controller 模式(Raft 协议),负责 Broker 自动主从切换。
启动参数 --enable-controller=true。
2、Broker Master-0 (172.24.16.10)
唯一主节点,负责生产与消费请求。
brokerRole=SYNC_MASTER。
3、Broker Slave-0 (172.24.16.7)
从节点,数据通过异步复制。
brokerRole=SLAVE。
在主节点不可用时,由 Controller 切换该节点为 Master。
内网连接与外部接入
1、内部生产者/消费者:直接用 nameserverAddr=172.24.16.13:9876。
2、外部接入(如硅谷区机房):推荐在 172.24.16.13 上用 Nginx 配置 TCP 反向代理,将公网域名+端口转发到对应内部 IP+端口(NameServer: 9876, Broker: 10911)。
------------------------------------------------

View File

@@ -0,0 +1,37 @@
# Broker 集群名称
brokerClusterName = TestCluster
# Broker 逻辑主名称(主从共享)
brokerName=broker-a
# 设置为 0 表示主节点DLeger 模式下为固定 0
brokerId=0
brokerIP1=192.168.70.17
aclEnable=true
# Broker 角色:同步主节点到从节点
brokerRole=SYNC_MASTER
# 磁盘刷写方式:同步刷下磁盘
flushDiskType=SYNC_MASTER
# Broker 监听客户端连接的端口
listenPort=10911
# NameServer 地址(多个以分号分隔)
namesrvAddr=192.168.70.17:9876;192.168.70.15:9876
# 启用 DLedger即5.x推荐主从机制
enableDLegerCommitLog=true
dLegerGroup=dlmq-a
dLegerPeers=n0-192.168.70.17:40911;n1-192.168.70.15:40911
dLegerSelfId=n0
# Broker-A 主节点存储路径
storePathRootDir=/data/rocketmq/store/broker-a
storePathCommitLog=/data/rocketmq/store/broker-a/commitlog
storePathConsumeQueue=/data/rocketmq/store/broker-a/consumequeue
storePathIndex=/data/rocketmq/store/broker-a/index
storeCheckpoint=/data/rocketmq/store/broker-a/checkpoint
abortFile=/data/rocketmq/store/broker-a/abort

View File

@@ -0,0 +1,37 @@
# Broker 集群名称
brokerClusterName = TestCluster
# Broker 逻辑主名称(主从共享)
brokerName=broker-b
# 设置为 0 表示主节点DLeger 模式下为固定 0
brokerId=0
brokerIP1=192.168.70.17
aclEnable=true
# Broker 角色:异步主节点
brokerRole=SYNC_MASTER
# 磁盘刷写方式
flushDiskType=SYNC_MASTER
# Broker 监听客户端连接的端口
listenPort=10921
# NameServer 地址(多个以分号分隔)
namesrvAddr=192.168.70.17:9876;192.168.70.15:9876
# 启用 DLedger即5.x推荐主从机制
enableDLegerCommitLog=true
dLegerGroup=dlmq-b
dLegerPeers=n0-192.168.70.15:40912;n1-192.168.70.17:40912
dLegerSelfId=n1
# Broker-B 从主节点存储路径
storePathRootDir=/data/rocketmq/store/broker-b-s
storePathCommitLog=/data/rocketmq/store/broker-b-s/commitlog
storePathConsumeQueue=/data/rocketmq/store/broker-b-s/consumequeue
storePathIndex=/data/rocketmq/store/broker-b-s/index
storeCheckpoint=/data/rocketmq/store/broker-b-s/checkpoint
abortFile=/data/rocketmq/store/broker-b-s/abort

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,37 @@
# Broker 集群名称
brokerClusterName = TestCluster
# Broker 逻辑主名称(主从共享)
brokerName=broker-a
# 设置为 0 表示主节点DLeger 模式下为固定 0
brokerId=0
brokerIP1=192.168.70.15
aclEnable=true
# Broker 角色:异步主节点
brokerRole=SYNC_MASTER
# 磁盘刷写方式
flushDiskType=SYNC_MASTER
# Broker 监听客户端连接的端口
listenPort=10911
# NameServer 地址(多个以分号分隔)
namesrvAddr=192.168.70.17:9876;192.168.70.15:9876
# 启用 DLedger即5.x推荐主从机制
enableDLegerCommitLog=true
dLegerGroup=dlmq-a
dLegerPeers=n0-192.168.70.17:40911;n1-192.168.70.15:40911
dLegerSelfId=n1
# Broker-A 从节点存储路径
storePathRootDir=/data/rocketmq/store/broker-a-s
storePathCommitLog=/data/rocketmq/store/broker-a-s/commitlog
storePathConsumeQueue=/data/rocketmq/store/broker-a-s/consumequeue
storePathIndex=/data/rocketmq/store/broker-a-s/index
storeCheckpoint=/data/rocketmq/store/broker-a-s/checkpoint
abortFile=/data/rocketmq/store/broker-a-s/abort

View File

@@ -0,0 +1,37 @@
# Broker 集群名称
brokerClusterName = TestCluster
# Broker 逻辑组名称(主从共享)
brokerName=broker-b
# 设置为 0 表示主节点DLeger 模式下为固定 0
brokerId=0
brokerIP1=192.168.70.15
aclEnable=true
# Broker 角色:异步主节点
brokerRole=SYNC_MASTER
# 磁盘刷写方式
flushDiskType=SYNC_MASTER
# Broker 监听客户端连接的端口
listenPort=10921
# NameServer 地址(多个以分号分隔)
namesrvAddr=192.168.70.17:9876;192.168.70.15:9876
# 启用 DLedger即5.x推荐主从机制
enableDLegerCommitLog=true
dLegerGroup=dlmq-b
dLegerPeers=n0-192.168.70.15:40912;n1-192.168.70.17:40912
dLegerSelfId=n0
# Broker-B 主节点存储路径
storePathRootDir=/data/rocketmq/store/broker-b
storePathCommitLog=/data/rocketmq/store/broker-b/commitlog
storePathConsumeQueue=/data/rocketmq/store/broker-b/consumequeue
storePathIndex=/data/rocketmq/store/broker-b/index
storeCheckpoint=/data/rocketmq/store/broker-b/checkpoint
abortFile=/data/rocketmq/store/broker-b/abort

View File

@@ -0,0 +1,26 @@
# 监听端口
listenPort = 9876
# 开启 NameServer 内嵌 Controller 模式
enableControllerInNamesrv=true
# Controller 组名,集群内统一
controllerDLegerGroup=TestCluster-ctrl-group
# Controller 集群节点定义(格式为 ID-IP:端口)
controllerDLegerPeers=n0-192.168.70.17:40910;n1-192.168.70.15:40910
# 当前节点的 ID必须与上面对应
controllerDLegerSelfId=n1
# Controller 元数据存储路径
controllerStorePath=/data/rocketmq/store/controller
# 是否可以从 SyncStateSet 以外选举 Master若为 true可能会选取数据落后的副本作为 Master 而丢失消息,默认为 false。
enableElectUncleanMaster = false
# 当 Broker 副本组上角色发生变化时是否主动通知,默认为 true。
notifyBrokerRoleChanged = true
enablePropertyFilter=true
rocketmq.aclEnable=true

View File

@@ -0,0 +1,30 @@
对这些 IP来源的客户端放行不校验账户权限
globalWhiteRemoteAddresses:
- 127.0.0.1
- 192.168.101.*
- 192.168.1.*
- 192.168.70.*
设置了两个账号mquser(只读部分权限)、mqadmin(具有admin权限)
accounts:
- accessKey: rocketmquser
secretKey: 12345678
whiteRemoteAddress: 192.168.*.*
admin: false
defaultTopicPerm: SUB
defaultGroupPerm: SUB
topicPerms:
- topicA=DENY
- topicB=PUB|SUB
- topicC=SUB
groupPerms:
the group should convert to retry topic
- groupA=DENY
- groupB=PUB|SUB
- groupC=SUB
- accessKey: rocketmqadmin
secretKey: Feimoon123
whiteRemoteAddress: 192.168.*.*
可管理所有资源Web UI使用这个
admin: true

View File

@@ -0,0 +1,126 @@
# RocketMQ部署
## 1、集群规划
> 两台机部署两主两从4个broker2个name server
> - 【192.168.70.17】192.168.1.31 (dify) 部署1个name serverbroker-abroker-b-sname server嵌入Controller
> - 【192.168.70.15】19.168.1.8 (rocky) : 部署1个name serverbroker-bbroker-a-sname server嵌入Controller
> 机器 VPN IP NameServer Broker Master Broker Slave
> 本地A 192.168.70.17 ✅ broker-a broker-b-sb的从
> 本地B 192.168.70.15 ✅ broker-b broker-a-sa的从
| 模块 | 默认端口 | 作用 | 是否可修改 | 是否对外 |
| --------------------- | ------------ | --------------------------------- | ------------------ | ---------- |
| **NameServer** | 9876 | 注册中心Producer/Consumer通过它查找Broker | ✅ 可改 | ✅ 通常暴露给客户端 |
| **Broker ListenPort** | 10911 | Broker 服务监听端口(处理生产/消费请求) | ✅ 可改listenPort | ✅ 客户端访问 |
| **Broker HA 端口** | 10912 | Broker 主从同步使用的端口(仅主监听) | ✅ 可改haListenPort | ❌ 仅内部通信 |
| **DLedger 端口** | 自定义(如 40911 | DLedger 主从同步(替代 HA 模式) | ✅ 可改dLegerPeers中 | ❌ 仅主从间同步 |
| **Controller 端口** | 10909 | RocketMQ 5 中控制器模式下,主控端口 | ✅ 可改 | ❌ 控制集群 |
| **Console Web UI** | 8080或自定义 | Web 管理面板端口SpringBoot 应用) | ✅ | ✅ 提供给运维/开发 |
生产者 Producer -------------------------+
|
消费者 Consumer ------------------------+--> [NameServer:9876]
|
[NameServer:9876] <----> [多个 Broker:listenPort如10911]
Broker 主 ←──→ Broker 从: [HA 模式用 10912] 或 [DLedger 用 40911/40912]
Console Web UI8080 通过 9876 查询路由10911 管理 Broker 状态
本地机器A: 本地局域网IP192.168.1.31腾讯云ssl openvpn IP(用于跟腾讯云服务器内网通信)192.168.70.17。
本地机器B: 本地局域网IP192.168.1.8腾讯云ssl openvpn IP(用于跟腾讯云服务器内网通信)192.168.70.15。
现在我在web加密看到的BrokerIP地址是192.168.1.x:10911,加云服务器能正常生产和消费到这里面吗?
RocketMQ部署初步规划
线上的帖子分析:
两台机部署两主两从4个broker2个name server
本地机器A: 本地局域网IP192.168.1.31腾讯云ssl openvpn IP(用于跟腾讯云服务器内网通信)192.168.70.17。部署1个name serverbroker-abroker-b-s
本地机器B: 本地局域网IP192.168.1.8腾讯云ssl openvpn IP(用于跟腾讯云服务器内网通信)192.168.70.15。部署1个name serverbroker-bbroker-a-s
有什么要优化的吗,这里的"主从"是只name server的主从还是broker的主从还是这两者都有主从可以自动切换主从吗是要添加Controller还是Controller就是在ame server内的
docker run -d --name rocketmq-dashboard -e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.70.15:9876" -p 8080:8080 -t apacherocketmq/rocketmq-dashboard:latest
机器Abroker-a
brokerClusterName = TestCluster
brokerName=broker-a
brokerId=0
brokerRole=SYNC_MASTER
flushDiskType=SYNC_MASTER
namesrvAddr=192.168.70.17:9876;192.168.70.15:9876
enableDLegerCommitLog=true
dLegerGroup=dlmq-a
dLegerPeers=n0-192.168.70.17:40911;n1-192.168.70.15:40911
dLegerSelfId=n0
storePathRootDir=/data/rocketmq/store/broker-a
storePathCommitLog=/data/rocketmq/store/broker-a/commitlog
storePathConsumeQueue=/data/rocketmq/store/broker-a/consumequeue
storePathIndex=/data/rocketmq/store/broker-a/index
storeCheckpoint=/data/rocketmq/store/broker-a/checkpoint
abortFile=/data/rocketmq/store/broker-a/abort
机器Bbroker-a
brokerClusterName = TestCluster
brokerName=broker-a
brokerId=0
brokerRole=SYNC_MASTER
flushDiskType=SYNC_MASTER
namesrvAddr=192.168.70.17:9876;192.168.70.15:9876
enableDLegerCommitLog=true
dLegerGroup=dlmq-a
dLegerPeers=n0-192.168.70.17:40911;n1-192.168.70.15:40911
dLegerSelfId=n1
storePathRootDir=/data/rocketmq/store/broker-a-s
storePathCommitLog=/data/rocketmq/store/broker-a-s/commitlog
storePathConsumeQueue=/data/rocketmq/store/broker-a-s/consumequeue
storePathIndex=/data/rocketmq/store/broker-a-s/index
storeCheckpoint=/data/rocketmq/store/broker-a-s/checkpoint
abortFile=/data/rocketmq/store/broker-a-s/abort
机器Bbroker-b
brokerClusterName = TestCluster
brokerName=broker-b
brokerId=0
brokerRole=SYNC_MASTER
flushDiskType=SYNC_MASTER
namesrvAddr=192.168.70.17:9876;192.168.70.15:9876
enableDLegerCommitLog=true
dLegerGroup=dlmq-b
dLegerPeers=n0-192.168.70.15:40911;n1-192.168.70.17:40911
dLegerSelfId=n0
storePathRootDir=/data/rocketmq/store/broker-b
storePathCommitLog=/data/rocketmq/store/broker-b/commitlog
storePathConsumeQueue=/data/rocketmq/store/broker-b/consumequeue
storePathIndex=/data/rocketmq/store/broker-b/index
storeCheckpoint=/data/rocketmq/store/broker-b/checkpoint
abortFile=/data/rocketmq/store/broker-b/abort
机器Abroker-b-s
brokerClusterName = TestCluster
brokerName=broker-b
brokerId=0
brokerRole=SYNC_MASTER
flushDiskType=SYNC_MASTER
namesrvAddr=192.168.70.17:9876;192.168.70.15:9876
enableDLegerCommitLog=true
dLegerGroup=dlmq-b
dLegerPeers=n0-192.168.70.15:40911;n1-192.168.70.17:40911
dLegerSelfId=n1
storePathRootDir=/data/rocketmq/store/broker-b-s
storePathCommitLog=/data/rocketmq/store/broker-b-s/commitlog
storePathConsumeQueue=/data/rocketmq/store/broker-b-s/consumequeue
storePathIndex=/data/rocketmq/store/broker-b-s/index
storeCheckpoint=/data/rocketmq/store/broker-b-s/checkpoint
abortFile=/data/rocketmq/store/broker-b-s/abort

View File

@@ -0,0 +1,85 @@
机器A:
启动nameserver:
nohup sh bin/mqnamesrv -c conf/machineA/namesrv.properties > logs/namesrv.log 2>&1 &
tail -f -n 100 logs/namesrv.log
启动broker-a: 主+从
机器A: nohup sh bin/mqbroker -c conf/machineA/broker-a.properties > logs/broker-a.log 2>&1 &
tail -f -n 100 logs/broker-a.log
机器B: nohup sh bin/mqbroker -c conf/machineB/broker-a-s.properties > logs/broker-a-s.log 2>&1 &
tail -f -n 100 logs/broker-a-s.log
机器B:
nameserver:
nohup sh bin/mqnamesrv -c conf/machineB/namesrv.properties > logs/namesrv.log 2>&1 &
tail -f -n 100 logs/namesrv.log
启动broker-b: 主+从
机器B: nohup sh bin/mqbroker -c conf/machineB/broker-b.properties > logs/broker-b.log 2>&1 &
tail -f -n 100 logs/broker-b.log
机器A: nohup sh bin/mqbroker -c conf/machineA/broker-b-s.properties > logs/broker-b-s.log 2>&1 &
tail -f -n 100 logs/broker-b-s.log
accessKey: rocketmqadmin
secretKey: Feimoon123
docker run -d --name rmq-dashboard -e JAVA_OPTS="-Drocketmq.namesrv.addr=192.168.1.31:9876" -p 8080:8080 apacherocketmq/rocketmq-dashboard:latest
docker run -d --name rmq-dashboard -e JAVA_OPTS="-Drocketmq.namesrv.addr=192.168.70.17:9876" -p 8080:8080 apacherocketmq/rocketmq-dashboard:latest
-------------------------------------------------
docker run -d \
--name rocketmq-dashboard \
-p 8080:8080 \
-e JAVA_OPTS="-Drocketmq.namesrv.addr=172.24.16.13:9876" \
apacherocketmq/rocketmq-dashboard:latest
-------------------------------------
docker run -d \
--name rocketmq-dashboard \
-e "rocketmq.config.accessKey=rocketmqadmin" \
-e "rocketmq.config.secretKey=aeimoon123" \
-e "rocketmq.config.namesrvAddr=192.168.70.15:9876" \
-p 8080:8080 \
apacherocketmq/rocketmq-dashboard:latest
----------------------------------------------------------------------------
cat > /data/rocketmq-dashboard/config/application.yml <<EOF
rocketmq:
config:
# 登录凭证(使用您提供的)
accessKey: "rocketmqadmin"
secretKey: "Feimoon123"
# NameServer 地址(根据实际修改)
namesrvAddrs: "192.168.70.17:9876;192.168.70.15:9876"
# 控制台数据保留天数(可选)
dataPath: "/tmp/rocketmq-console"
loginRequired: true
server:
port: 8080
EOF
docker run -d \
--name rocketmq-dashboard \
-p 8080:8080 \
-v /data/rocketmq-dashboard/config:/dashboard/config \
-e "JAVA_OPTS=-Drocketmq.config.loginRequired=true" \
apacherocketmq/rocketmq-dashboard:latest
docker run -d \
--name rocketmq-dashboard \
-p 8080:8080 \
-e JAVA_OPTS="-Drocketmq.namesrv.addr=192.168.1.31:9876" \
apacherocketmq/rocketmq-dashboard:latest