RocketMQシリーズ:クラスターノードのオフライン操作の操作と保守

運用および保守シナリオ

3m-3s rocketmqクラスターを構築しました(参照:3m-3s rocketmq構築)。マスターノードのセットに限定されたマシンに障害が発生し、削除する必要があると仮定して、スムーズな操作とメンテナンスを実行するにはどうすればよいですか?

たとえば、次のアーキテクチャで3m-3sブローカークラスターを構築しました。

 

 

ブローカー(クラスターからノード)を削除したい場合はどうすればよいですか?

最初に明確にする必要がある3つのポイントがあります。

最初のポイント:最初に、broker-aを新しいメッセージを受信できない状態に変更する必要があります(つまり、新しいメッセージはbroker-bとbroker-cに分類されます)が、処理中のメッセージの配置には影響しません。

2番目のポイント:最初のステップを設定した後、ブローカーはそのスレーブマシンと同じです。最初のステップは、スレーブから消費される前に配置されたメッセージに影響を与えることはできません。

3番目のポイント:broker-aを削除すると、現在のTPSの生産と消費に耐えられるかどうかにかかわらず、クラスターの規模が小さくなります。

3番目のステップを評価できます。通常、TPSに耐えられるクラスターの最大水位は2/3です。たとえば、クラスターの現在の最大TPSは10000であり、実稼働環境の実際のTPSは7000を超えないようにすることをお勧めします。7000を超える場合は、ブローカーを拡張する必要があります。クラスター化。

オペレーティング

まず、コンソールで表示できるトピックのperm属性を理解します。

Permは、トピックの読み取り属性と書き込み属性を指します。

6:読み取りと書き込み

4:読み取り専用

2:書き込みのみ

permを理解したら、permを使用して記事を書くことができます。

ステップ1

最初のポイントを達成するために、broker-aのすべてのトピックが読み取り専用に設定されている限り、メッセージは引き続きbroker-aに書き込まれません。したがって、broker-aで作成され、関連付けられたすべてのトピックについて、これらのトピックの権限は4に設定する必要があります。

道:

1.コンソールのTOPICサブページをクリックできます。トピックで、各アイテムの「トピック構成」をクリックし、以下に示すように、broker-aの権限を4に変更します。

  

2.以下に示すように、コマンドラインのmqadmin updateTopicPermを使用して、対応するトピックの権限を変更することもできます。

ステップ2

1.ブローカーの表示-書き込みトラフィック

查看broker-a的master节点的InTPS,直到InTPS为0,说明该topic已经不再接受新的消息。

2. 查看broker-a-s的读出流量

观察broker-a-s上的OutTPS(消费),OutTPS也为0之后,说明消息理论上已经全部被消费完毕。

步骤3

查看broker-a上的consumer是否全部消费完毕,且没有diff(有diff说明有的落盘的消息没有被消费到,一般是客户端consumer有bug)

步骤4

确认上述后,为了保险起见,建议将broker-a(master和slave机器)分别保留3天,等三天后通过mqshutdown命令停止broker-a和broker-a-s

至此,摘除故障机器的操作就OK了

博主:测试生财

座右铭:专注测试与自动化,致力提高研发效能;通过测试精进完成原始积累,通过读书理财奔向财务自由。

csdn:https://blog.csdn.net/ccgshigao

博客园:https://www.cnblogs.com/qa-freeroad/

51cto:https://blog.51cto.com/14900374


おすすめ

転載: blog.51cto.com/14900374/2540010