初始化提交
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)。
|
||||
|
||||
|
||||
------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user