ApsaraDB for ClickHouse では、バンドルされている ZooKeeper クラスターの リーダーの切り替えをスケジュールできます。切り替えにより、ZXID の使用率が高い場合にリーダーの再選出がトリガーされ、ZXID がリセットされます。
前提条件
クラスターのステータスが 実行中 であること。
クラスターの再起動を実行していないこと。
2025年3月13日以降に購入されたバージョン 23.8 以降のインスタンスは、64 ビットの
ZXIDを使用する ClickHouse Keeper を使用します。この場合、ZXIDのオーバーフローは懸念事項ではないため、リーダー スイッチオーバーは不要です。重要新規購入したインスタンスとは、コンソールから購入したインスタンスを指します。バックアップの復元、クローン、または既存インスタンスのアップグレードによって作成されたインスタンスは含まれません。
クラスターへの影響
クエリ:影響はありません。
書き込み操作:
ReplicatedMergeTree エンジンを使用するテーブルへの書き込み操作が、一時的に中断される場合があります。
書き込みの中断が有効になっている場合、スイッチオーバーの開始後にインスタンスはすべての書き込み操作をブロックします。この期間中、インスタンスへのすべての書き込みは失敗します。
DDL 操作:スイッチオーバーにより、分散 DDL の実行がブロックされる場合があります。
所要時間:
書き込みの中断なし:およそ 1~2 分。
書き込みの中断あり:およそ 2~10 分 (この期間中、書き込み操作は常にブロックされます)。
メタデータの不整合が発生する可能性があります。
ZooKeeper のリーダー スイッチオーバーにより、すべての ClickHouse ノードが ZooKeeper から切断されます。この処理中に書き込み頻度が高いと、メタデータの不整合が発生し、一部のテーブルが
Read-only状態になる可能性があります。メタデータの不整合を防ぐため、スイッチオーバー期間中は書き込み頻度を下げるか、書き込み操作を停止してください。
リーダー スイッチオーバー
ApsaraDB for ClickHouse コンソールにログインします。
ページの左上で、対象クラスターのリージョンを選択します。
[Clusters] ページで [Clusters of Community-compatible Edition] を選択し、対象クラスターの ID をクリックします。
[クラスター情報] ページで、構成情報 の ZooKeeper の設定 セクションで、マスターカットをスケジュールする をクリックします。
マスターカット設定 ダイアログボックスで、この操作による影響を確認し、を決定 をクリックします。
マスターカット設定 ダイアログボックスで、書き込み停止設定 と モード選択 を設定します。
[書き込み停止設定]:
[書き込みを停止する]: インスタンスは、スイッチオーバー中にすべての書き込み操作をブロックします。このプロセスには 2〜10 分かかります。
[書き込みを停止しない]:インスタンスは、書き込み操作をブロックすることなくリーダーのスイッチオーバーを実行します。
[モード選択]:
[マスターカットをスケジュールする]: 予約時間 フィールドで、リーダーのスイッチオーバーの時刻を設定します。スイッチオーバーは設定した時刻に開始されます。
[すぐにマスターをカットする]:クラスターはリーダーの切り替えを直ちに開始します。
を決定 をクリックします。
説明リーダー スイッチオーバーが開始されると、クラスターのステータスは Switching Primary/Secondary Node に変わります。ステータスが 実行中 に戻ると、操作は完了です。
スケジュールの変更またはキャンセル
スイッチオーバーの実行をスケジュールした場合にのみ、その予定を変更またはキャンセルできます。
ApsaraDB for ClickHouse コンソールにログインします。
ページの左上で、対象クラスターのリージョンを選択します。
[Clusters] ページで [Clusters of Community-compatible Edition] を選択し、対象クラスターの ID をクリックします。
クラスター情報 ページで、構成情報 の ZooKeeper の設定 セクションで、マスターカットをスケジュールする をクリックします。
マスターカット設定 ダイアログボックスで、予定の変更 または 予約のキャンセル を選択します。
[予定の変更]:すべてのリーダーの切り替え設定を変更できます。
[予約のキャンセル]: 予約されたリーダーのスイッチオーバーをキャンセルします。