初始化提交
This commit is contained in:
75
RocketMQ/线上的一主一从/broker-a-s.properties
Normal file
75
RocketMQ/线上的一主一从/broker-a-s.properties
Normal 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
|
||||
# 需保持同步的副本组数量,默认为1,allAckInSyncStateSet=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
|
||||
74
RocketMQ/线上的一主一从/broker-a.properties
Normal file
74
RocketMQ/线上的一主一从/broker-a.properties
Normal 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
|
||||
# 需保持同步的副本组数量,默认为1,allAckInSyncStateSet=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
|
||||
33
RocketMQ/线上的一主一从/controller.properties
Normal file
33
RocketMQ/线上的一主一从/controller.properties
Normal 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
|
||||
52
RocketMQ/线上的一主一从/启动命令.conf
Normal file
52
RocketMQ/线上的一主一从/启动命令.conf
Normal 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 &
|
||||
27
RocketMQ/线上的一主一从/机器规划.conf
Normal file
27
RocketMQ/线上的一主一从/机器规划.conf
Normal 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)。
|
||||
|
||||
|
||||
------------------------------------------------
|
||||
|
||||
37
RocketMQ/线下实验/A_ broker-a.properties
Normal file
37
RocketMQ/线下实验/A_ broker-a.properties
Normal 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
|
||||
37
RocketMQ/线下实验/A_ broker-b-s.properties
Normal file
37
RocketMQ/线下实验/A_ broker-b-s.properties
Normal 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
|
||||
1
RocketMQ/线下实验/A_namesrv.properties
Normal file
1
RocketMQ/线下实验/A_namesrv.properties
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
37
RocketMQ/线下实验/B_broker-a-s.properties
Normal file
37
RocketMQ/线下实验/B_broker-a-s.properties
Normal 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
|
||||
37
RocketMQ/线下实验/B_broker-b.properties
Normal file
37
RocketMQ/线下实验/B_broker-b.properties
Normal 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
|
||||
26
RocketMQ/线下实验/B_namesrv.properties
Normal file
26
RocketMQ/线下实验/B_namesrv.properties
Normal 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
|
||||
30
RocketMQ/线下实验/plain_acl.yml
Normal file
30
RocketMQ/线下实验/plain_acl.yml
Normal 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
|
||||
126
RocketMQ/线下实验/两台机器集群.md
Normal file
126
RocketMQ/线下实验/两台机器集群.md
Normal file
@@ -0,0 +1,126 @@
|
||||
# RocketMQ部署
|
||||
## 1、集群规划:
|
||||
|
||||
> 两台机,部署两主两从4个broker,2个name server
|
||||
> - 【192.168.70.17】192.168.1.31 (dify) :部署1个name server,broker-a(主),broker-b-s(从),name server嵌入Controller
|
||||
> - 【192.168.70.15】19.168.1.8 (rocky) : 部署1个name server,broker-b(主),broker-a-s(从),name server嵌入Controller
|
||||
|
||||
> 机器 VPN IP NameServer Broker Master Broker Slave
|
||||
> 本地A 192.168.70.17 ✅ broker-a broker-b-s(b的从)
|
||||
> 本地B 192.168.70.15 ✅ broker-b broker-a-s(a的从)
|
||||
|
||||
|
||||
| 模块 | 默认端口 | 作用 | 是否可修改 | 是否对外 |
|
||||
| --------------------- | ------------ | --------------------------------- | ------------------ | ---------- |
|
||||
| **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 UI(8080) 通过 9876 查询路由,10911 管理 Broker 状态
|
||||
|
||||
|
||||
本地机器A: 本地局域网IP:192.168.1.31;腾讯云ssl openvpn IP(用于跟腾讯云服务器内网通信):192.168.70.17。
|
||||
本地机器B: 本地局域网IP:192.168.1.8;腾讯云ssl openvpn IP(用于跟腾讯云服务器内网通信):192.168.70.15。
|
||||
现在我在web加密看到的BrokerIP地址是192.168.1.x:10911,加云服务器能正常生产和消费到这里面吗?
|
||||
|
||||
|
||||
|
||||
RocketMQ部署,初步规划:
|
||||
线上的帖子分析:
|
||||
两台机,部署两主两从4个broker,2个name server
|
||||
本地机器A: 本地局域网IP:192.168.1.31;腾讯云ssl openvpn IP(用于跟腾讯云服务器内网通信):192.168.70.17。部署1个name server,broker-a(主),broker-b-s(从)
|
||||
本地机器B: 本地局域网IP:192.168.1.8;腾讯云ssl openvpn IP(用于跟腾讯云服务器内网通信):192.168.70.15。部署1个name server,broker-b(主),broker-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
|
||||
|
||||
|
||||
机器A:broker-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
|
||||
|
||||
机器B:broker-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
|
||||
|
||||
机器B:broker-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
|
||||
|
||||
机器A:broker-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
|
||||
85
RocketMQ/线下实验/启动命令相关.conf
Normal file
85
RocketMQ/线下实验/启动命令相关.conf
Normal 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
|
||||
Reference in New Issue
Block a user