GitHub user mxsm edited a comment on the discussion: 
[5.1.0]关于Dledger和controller疑问

@SchopenhauerZhang   1主2从(DLedger 
模式)你只需要按照controller+一主一从的模式(2个broker)部署3个Broker就可以了。 
通过Controller模式的选举出来1主剩下的2个Broker就是Slave.  
这个就满足你的controller+1主2从。官方文档:https://rocketmq.apache.org/docs/deploymentOperations/03autofailover
 这里只是一个例子。例如你想要1主2从:
Broker1
```properties
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = -1
brokerRole = SLAVE
deleteWhen = 04
fileReservedTime = 48
enableControllerMode = true
controllerAddr = 127.0.0.1:9878
namesrvAddr = 127.0.0.1:9876
allAckInSyncStateSet=true
listenPort=30911
storePathRootDir=/tmp/rmqstore/node00
storePathCommitLog=/tmp/rmqstore/node00/commitlog
```

Broker2
```properties
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = -1
brokerRole = SLAVE
deleteWhen = 04
fileReservedTime = 48
enableControllerMode = true
controllerAddr = 127.0.0.1:9878
namesrvAddr = 127.0.0.1:9876
allAckInSyncStateSet=true
listenPort=30911
storePathRootDir=/tmp/rmqstore/node00
storePathCommitLog=/tmp/rmqstore/node00/commitlog
```

Broker3
```properties
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = -1
brokerRole = SLAVE
deleteWhen = 04
fileReservedTime = 48
enableControllerMode = true
controllerAddr = 127.0.0.1:9878
namesrvAddr = 127.0.0.1:9876
allAckInSyncStateSet=true
listenPort=30911
storePathRootDir=/tmp/rmqstore/node00
storePathCommitLog=/tmp/rmqstore/node00/commitlog
```
只需要按照上述的配置文件部署就可以了。 
(这里因为storePathRootDir和storePathCommitLog都是一样所以需要部署在不同的机器上面,如果想要部署在同一台机器只需要进行改变位置即可)

GitHub link: 
https://github.com/apache/rocketmq/discussions/6172#discussioncomment-5113859

----
This is an automatically sent email for dev@rocketmq.apache.org.
To unsubscribe, please send an email to: dev-unsubscr...@rocketmq.apache.org

Reply via email to