StarRocks のダウングレード
このトピックでは、StarRocks クラスターをダウングレードする方法について説明します。
StarRocks クラスターをアップグレードした後に例外が発生した場合、クラスターを以前のバージョンにダウングレードして迅速に復旧することができます。
概要
ダウングレードする前にこのセクションの情報を確認してください。推奨されるアクションを実行してください。
ダウングレードパス
-
パッチバージョンのダウングレードの場合
StarRocks クラスターをパッチバージョン間でダウングレードできます。例えば、v3.5.11 から直接 v3.5.6 にダウングレードできます。
-
マイナーバージョンのダウングレードの場合
互換性と安全性の理由から、StarRocks クラスターをマイナーバージョンごとに順次ダウングレードすることを強くお勧めします。例えば、StarRocks v2.5 クラスターを v2.2 にダウングレードするには、次の順序でダウングレードする必要があります: v3.5.x --> v3.4.x --> v3.3.x --> v3.2.x。
-
メジャーバージョンのダウングレードの場合
StarRocks v4.1 クラスターは、v4.0.6 以降のバージョンにのみダウングレードできます。
警告ダウングレードに関する注意事項
-
StarRocks を v4.1 にアップグレードした後、v4.0.6 より前の v4.0 バージョンへのダウングレードは行わないでください。
v4.1 で導入されたデータレイアウトの内部変更(タブレット分割および分散メカニズムに関連)により、v4.1 にアップグレードされたクラスタでは、以前のバージョンと完全には互換性のないメタデータやストレージ構造が生成される可能性があります。そのため、v4.1 からのダウングレードは v4.0.6 以降のみサポートされています。v4.0.6 より前のバージョンへのダウングレードはサポートされていません。この制限は、以前のバージョンがタブレットレイアウトおよび分散メタデータを解釈する方法における下位互換性の制約によるものです。
-
ダウングレード手順
StarRocks のダウングレード手順は、アップグレード手順の逆順です。したがって、最初に FEs をダウングレードし、その後 BEs と CNs をダウングレードする必要があります。順序を誤ると、FEs と BEs/CNs 間の互換性が失われ、サービスがクラッシュする可能性があります。FE ノードの場合、Leader FE ノードをダウングレードする前に、すべての Follower FE ノードを最初にダウングレードする必要があります。
始める前に
準備中に、マイナーまたはメジャーバージョンのダウングレードを行う場合は、互換性の設定を行う必要があります。また、クラスター内のすべてのノードをダウングレードする前に、FEs または BEs のいずれかでダウングレードの可用性テストを実行する必要があります。
互換性設定の実行
StarRocks クラスターを以前のマイナーまたはメジャーバージョンにダウングレードしたい場合は、互換性設定を行う必要があります。一般的な互換性設定に加えて、詳細な設定はダウングレード元の StarRocks クラスターのバージョンに応じて異なります。
- 一般的な互換性設定
StarRocks クラスターをダウングレードする前に、tablet クローンを無効にする必要があります。バランサーを無効にしている場合は、この手順をスキップできます。
ADMIN SET FRONTEND CONFIG ("tablet_sched_max_scheduling_tablets" = "0");
ADMIN SET FRONTEND CONFIG ("tablet_sched_max_balancing_tablets" = "0");
ADMIN SET FRONTEND CONFIG ("disable_balance"="true");
ADMIN SET FRONTEND CONFIG ("disable_colocate_balance"="true");
ダウングレード後、すべての BE ノードのステータスが Alive になった場合、tablet クローンを再度有効にできます。
ADMIN SET FRONTEND CONFIG ("tablet_sched_max_scheduling_tablets" = "10000");
ADMIN SET FRONTEND CONFIG ("tablet_sched_max_balancing_tablets" = "500");
ADMIN SET FRONTEND CONFIG ("disable_balance"="false");
ADMIN SET FRONTEND CONFIG ("disable_colocate_balance"="false");