Downgrade StarRocks
StarRocksのダウングレード
このトピックでは、StarRocksクラスタをダウングレードする方法について説明します。
StarRocksクラスタをアップグレードした後に例外が発生した場合、クラスタをすばやく回復するために以前のバージョンにダウングレードすることができます。
概要
ダウングレードする前に、このセクションの情報を確認してください。必要な操作を実行してください。
ダウングレードのパス
- パッチバージョンのダウングレードStarRocksクラスタをパッチバージョンごとにダウングレードできます。たとえば、v2.2.11から直接v2.2.6にダウングレードすることができます。
- マイナーバージョンのダウングレード互換性と安全性の理由から、StarRocksクラスタは連続するマイナーバージョンからダウングレードすることを強くお勧めします。たとえば、StarRocks v2.5クラスタをv2.2にダウングレードする場合、以下の順序でダウングレードする必要があります:v2.5.x --> v2.4.x --> v2.3.x --> v2.2.x。
- メジャーバージョンのダウングレードStarRocks v3.0クラスタをv2.5.3以降のバージョンにのみダウングレードできます。
- StarRocksはv3.0でBDBライブラリをアップグレードしていますが、BDBJEはロールバックできません。ダウングレード後は、v3.0のBDBライブラリを使用する必要があります。
- 新しいRBAC権限システムは、v3.0にアップグレード後にデフォルトで使用されます。ダウングレード後にRBAC権限システムを使用することができます。
ダウングレード手順
StarRocksのダウングレード手順はアップグレード手順の逆の順序です。したがって、まずはFEを最初にダウングレードし、次にBEとCNをダウングレードする必要があります。誤った順序でのダウングレードは、FEとBE/CNの非互換性を引き起こし、サービスのクラッシュを引き起こす可能性があります。FEノードでは、リーダーFEノードをダウングレードする前に、まずすべてのフォロワーFEノードをダウングレードする必要があります。
開始する前に
準備中に、マイナーまたはメジャーバージョンのダウングレードを行う場合は、互換性の構成を実行する必要があります。また、クラスタ内のすべてのノードをダウングレードする前に、FEまたはBEの1つでダウングレードの可用性テストを実行する必要があります。
互換性の構成
StarRocksクラスタを以前のマイナーまたはメジャーバージョンにダウングレードする場合は、互換性の構成を実行する必要があります。一般的な互換性の構成に加えて、詳細な構成はダウングレード元のStarRocksクラスタのバージョンによって異なります。
- 一般的な互換性の構成
StarRocksクラスタをダウングレードする前に、タブレットのクローンを無効にする必要があります。
ADMIN SET FRONTEND CONFIG ("max_scheduling_tablets" = "0");
ADMIN SET FRONTEND CONFIG ("max_balancing_tablets" = "0");
ADMIN SET FRONTEND CONFIG ("disable_balance"="true");
ADMIN SET FRONTEND CONFIG ("disable_colocate_balance"="true");
ダウングレード後、すべてのBEノードの状態がAlive
になった場合は、再度タブレットのクローンを有効にすることができます。
ADMIN SET FRONTEND CONFIG ("max_scheduling_tablets" = "2000");
ADMIN SET FRONTEND CONFIG ("max_balancing_tablets" = "100");
ADMIN SET FRONTEND CONFIG ("disable_balance"="false");
ADMIN SET FRONTEND CONFIG ("disable_colocate_balance"="false");
- v2.2以降からのダウングレードの場合
FEの構成項目ignore_unknown_log_id
をtrue
に設定してください。これは静的パラメータですので、FEの設定ファイルfe.confを変更し、ノードを再起動して変更を有効にする必要があります。ダウングレードおよび最初のチェックポイントが完了した後、false
にリセットし、ノードを再起動することができます。
- FQDNアクセスを有効にしている場合
FQDNアクセスを有効にしている(v2.4以降でサポート)場合、v2.4より前のバージョンにダウングレードする必要がある場合は、ダウングレードする前にIPアドレスアクセスに切り替える必要があります。詳しい手順については、FQDNのロールバックを参照してください。
FEのダウングレード
互換性の構成と可用性テストが完了したら、FEノードをダウングレードすることができます。まず、フォロワーFEノードをダウングレードし、次にリーダーFEノードをダウングレードする必要があります。
-
FEノードの作業ディレクトリに移動し、ノードを停止します。
# <fe_dir>はFEノードのデプロイディレクトリに置き換えてください。
cd <fe_dir>/fe
./bin/stop_fe.sh -
元のデプロイファイル(bin、lib、spark-dpp)を以前のバージョンのものに置き換えます。
mv lib lib.bak
mv bin bin.bak
mv spark-dpp spark-dpp.bak
cp -r /tmp/StarRocks-x.x.x/fe/lib .
cp -r /tmp/StarRocks-x.x.x/fe/bin .
cp -r /tmp/StarRocks-x.x.x/fe/spark-dpp .注意
StarRocks v3.0からv2.5にダウングレードする場合、デプロイファイルを置き換えた後、次の手順を実行する必要があります:
- v3.0デプロイのファイルfe/lib/starrocks-bdb-je-18.3.13.jarをv2.5デプロイのディレクトリfe/libにコピーします。
- ファ イルfe/lib/je-7.*.jarを削除します。
-
FEノードを開始します。
sh bin/start_fe.sh --daemon
-
FEノードが正常に起動したかどうかを確認します。
ps aux | grep StarRocksFE
-
上記の手順を繰り返して、他のフォロワーFEノードをダウングレードし、最後にリーダーFEノードをダウングレードします。
注意
StarRocks v3.0からv2.5にダウングレードする場合、ダウングレード後に次の手順を実行する必要があります:
- ALTER SYSTEM CREATE IMAGEを実行して新しいイメージを作成します。
- 新しいイメージがすべてのフォロワーFEに同期されるのを待ちます。
このコマンドを実行しない場合、ダウングレード操作の一部が失敗する可能性があります。ALTER SYSTEM CREATE IMAGEは、v2.5.3以降でサポートされています。
BEのダウングレード
FEノードをダウングレードした後、クラスタ内のBEノードをダウングレードすることができます。
-
BEノードの作業ディレクトリに移動し、ノードを停止します。
# <be_dir>はBEノードのデプロイディレクトリに置き換えてください。
cd <be_dir>/be
./bin/stop_be.sh -
元のデプロイファイル(bin、lib)を以前のバージョンのものに置き換えます。
mv lib lib.bak
mv bin bin.bak
cp -r /tmp/StarRocks-x.x.x/be/lib .
cp -r /tmp/StarRocks-x.x.x/be/bin . -
BEノードを開始します。
sh bin/start_be.sh --daemon
-
BEノードが正常に起動したかどうかを確認します。
ps aux | grep starrocks_be
-
上記の手順を繰り返して、他のBEノードをダウングレードします。
CNのダウングレード
-
CNノードの作業ディレクトリに移動し、ノードを正しく停止します。
# <cn_dir>はCNノードのデプロイディレクトリに置き換えてください。
cd <cn_dir>/be
./bin/stop_cn.sh --graceful -
元のデプロイファイル(bin、lib)を以前のバージョンのものに置き換えます。
mv lib lib.bak
mv bin bin.bak
cp -r /tmp/StarRocks-x.x.x/be/lib .
cp -r /tmp/StarRocks-x.x.x/be/bin . -
CNノードを開始します。
sh bin/start_cn.sh --daemon
-
CNノードが正常 に起動したかどうかを確認します。
ps aux | grep starrocks_be
-
上記の手順を繰り返して、他のCNノードをダウングレードします。