roketmq-4.x公式ドキュメント-運営維持管理(operation)-上
4520 ワード
運行維持管理(operation)
出典:公式ドキュメント
1クラスタ構築
1.1シングルマスターモード
この方法はリスクが高く、Brokerが再起動したりダウンタイムしたりすると、サービス全体が使用できなくなります.オンライン環境では推奨されず、ローカルテストに使用できます.
1)NameServerの起動
### Name Server
$ nohup sh mqnamesrv &
### Name Server
$ tail -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success...
2)Brokerの起動
### Broker
$ nohup sh bin/mqbroker -n localhost:9876 &
### Name Server , Broker IP :192.168.1.2, broker-a
$ tail -f ~/logs/rocketmqlogs/Broker.log
The broker[broker-a, 192.169.1.2:10911] boot success...
1.2マルチマスターモード
1つのクラスタはSlaveがなく、すべてMaster、例えば2つのMasterまたは3つのMasterであり、このモードの長所と短所は以下の通りである.
1)NameServerの起動
NameServerはBrokerより先に起動する必要があり、本番環境で使用する場合、高可用性を保証するために、一般的な規模のクラスタで3つのNameServerを起動することを推奨します.各ノードの起動コマンドは次のように同じです.
### Name Server
$ nohup sh mqnamesrv &
### Name Server
$ tail -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success...
2)Brokerクラスタの起動
### A, Master, NameServer IP :192.168.1.1
$ nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-noslave/broker-a.properties &
### B, Master, NameServer IP :192.168.1.1
$ nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-noslave/broker-b.properties &
...
上記の起動コマンドは、1つのNameServerの場合に使用されます.複数のNameServerのクラスタについては、Broker起動コマンドの
-n
の後のアドレスリストをセミコロンで区切ることができます.たとえば、192.168.1.1:9876;192.161.2:9876
です.1.3マルチMasterマルチSlaveモード-非同期レプリケーション
各Masterは1つのSlaveを構成し、複数対のMaster-Slaveがあり、HAは非同期レプリケーション方式を採用し、主に短いメッセージ遅延(ミリ秒レベル)を備えている.このモードの長所と短所は以下の通りである.
1)NameServerの起動
### Name Server
$ nohup sh mqnamesrv &
### Name Server
$ tail -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success...
2)Brokerクラスタの起動
### A, Master, NameServer IP :192.168.1.1
$ nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-2s-async/broker-a.properties &
### B, Master, NameServer IP :192.168.1.1
$ nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-2s-async/broker-b.properties &
### C, Slave, NameServer IP :192.168.1.1
$ nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-2s-async/broker-a-s.properties &
### D, Slave, NameServer IP :192.168.1.1
$ nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-2s-async/broker-b-s.properties &
1.4マルチMasterマルチSlaveモード-同期デュアルライト
各Masterは1つのSlaveを構成し、複数対のMaster-Slaveがあり、HAは同期二重書き込み方式を採用している.すなわち、マスタがすべて書き込みに成功してこそ、アプリケーションに成功を返すことができる.このモードの長所と短所は以下の通りである.
1)NameServerの起動
### Name Server
$ nohup sh mqnamesrv &
### Name Server
$ tail -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success...
2)Brokerクラスタの起動
### A, Master, NameServer IP :192.168.1.1
$ nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-2s-sync/broker-a.properties &
### B, Master, NameServer IP :192.168.1.1
$ nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-2s-sync/broker-b.properties &
### C, Slave, NameServer IP :192.168.1.1
$ nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-2s-sync/broker-a-s.properties &
### D, Slave, NameServer IP :192.168.1.1
$ nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-2s-sync/broker-b-s.properties &
以上のBrokerとSlaveのペアリングは同じBrokerNameパラメータを指定することによってペアリングされ、MasterのBrokerIdは0でなければならず、SlaveのBrokerIdは0より大きい数でなければならない.もう1つのMasterの下には複数のSlaveがマウントされ、同じMasterの下にある複数のSlaveは異なるBrokeIdを指定することによって区別される.$ROCKETMQ_HOMEとはRocketMQインストールディレクトリのことで、ユーザー自身がこの環境変数を設定する必要がある.