メインコンテンツまでスキップ

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_idtrueに設定してください。これは静的パラメータですので、FEの設定ファイルfe.confを変更し、ノードを再起動して変更を有効にする必要があります。ダウングレードおよび最初のチェックポイントが完了した後、falseにリセットし、ノードを再起動することができます。

  • FQDNアクセスを有効にしている場合

FQDNアクセスを有効にしている(v2.4以降でサポート)場合、v2.4より前のバージョンにダウングレードする必要がある場合は、ダウングレードする前にIPアドレスアクセスに切り替える必要があります。詳しい手順については、FQDNのロールバックを参照してください。

FEのダウングレード

互換性の構成と可用性テストが完了したら、FEノードをダウングレードすることができます。まず、フォロワーFEノードをダウングレードし、次にリーダーFEノードをダウングレードする必要があります。

  1. FEノードの作業ディレクトリに移動し、ノードを停止します。

    # <fe_dir>FEノードのデプロイディレクトリに置き換えてください。
    cd <fe_dir>/fe
    ./bin/stop_fe.sh
  2. 元のデプロイファイル(binlibspark-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にダウングレードする場合、デプロイファイルを置き換えた後、次の手順を実行する必要があります:

    1. v3.0デプロイのファイルfe/lib/starrocks-bdb-je-18.3.13.jarをv2.5デプロイのディレクトリfe/libにコピーします。
    2. ファイルfe/lib/je-7.*.jarを削除します。
  3. FEノードを開始します。

    sh bin/start_fe.sh --daemon
  4. FEノードが正常に起動したかどうかを確認します。

    ps aux | grep StarRocksFE
  5. 上記の手順を繰り返して、他のフォロワーFEノードをダウングレードし、最後にリーダーFEノードをダウングレードします。

    注意

    StarRocks v3.0からv2.5にダウングレードする場合、ダウングレード後に次の手順を実行する必要があります:

    1. ALTER SYSTEM CREATE IMAGEを実行して新しいイメージを作成します。
    2. 新しいイメージがすべてのフォロワーFEに同期されるのを待ちます。

    このコマンドを実行しない場合、ダウングレード操作の一部が失敗する可能性があります。ALTER SYSTEM CREATE IMAGEは、v2.5.3以降でサポートされています。

BEのダウングレード

FEノードをダウングレードした後、クラスタ内のBEノードをダウングレードすることができます。

  1. BEノードの作業ディレクトリに移動し、ノードを停止します。

    # <be_dir>BEノードのデプロイディレクトリに置き換えてください。
    cd <be_dir>/be
    ./bin/stop_be.sh
  2. 元のデプロイファイル(binlib)を以前のバージョンのものに置き換えます。

    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 .
  3. BEノードを開始します。

    sh bin/start_be.sh --daemon
  4. BEノードが正常に起動したかどうかを確認します。

    ps aux | grep starrocks_be
  5. 上記の手順を繰り返して、他のBEノードをダウングレードします。

CNのダウングレード

  1. CNノードの作業ディレクトリに移動し、ノードを正しく停止します。

    # <cn_dir>CNノードのデプロイディレクトリに置き換えてください。
    cd <cn_dir>/be
    ./bin/stop_cn.sh --graceful
  2. 元のデプロイファイル(binlib)を以前のバージョンのものに置き換えます。

    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 .
  3. CNノードを開始します。

    sh bin/start_cn.sh --daemon
  4. CNノードが正常に起動したかどうかを確認します。

    ps aux | grep  starrocks_be
  5. 上記の手順を繰り返して、他のCNノードをダウングレードします。