運用および保守シナリオ
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