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

Deploy

デプロイ

このトピックでは、デプロイに関するよくある質問に回答します。

fe.conf ファイルの priority_networks パラメータで固定 IP アドレスをバインドするにはどうすればよいですか?

問題の説明

たとえば、2 つの IP アドレス、192.168.108.23 と 192.168.108.43 がある場合、次のように IP アドレスを指定できます:

  • アドレスを 192.168.108.23/24 と指定すると、StarRocks はこれを 192.168.108.43 と認識します。
  • アドレスを 192.168.108.23/32 と指定すると、StarRocks はこれを 127.0.0.1 と認識します。

解決策

次の 2 つの方法でこの問題を解決できます:

  • IP アドレスの末尾に "32" を追加しないか、"32" を "28" に変更します。
  • StarRocks をバージョン 2.1 以降にアップグレードすることもできます。

インストール後にバックエンド (BE) を起動するとエラー "StarRocks BE http service did not start correctly, exiting" が発生するのはなぜですか?

BE をインストールする際、システムは起動エラー "StarRocks Be http service did not start correctly, exiting" を報告します。

このエラーは、BE のウェブサービスポートが占有されているためです。be.conf ファイルのポートを変更し、BE を再起動してみてください。

"ERROR 1064 (HY000): Could not initialize class com.starrocks.rpc.BackendServiceProxy" エラーが発生した場合、どのように対処すればよいですか?

このエラーは、Java Runtime Environment (JRE) 上でプログラムを実行する際に発生します。この問題を解決するには、JRE を Java Development Kit (JDK) に置き換えてください。Oracle の JDK 1.8 以降を使用することをおすすめします。

エンタープライズエディションの StarRocks をデプロイし、ノードを構成する際に "Failed to Distribute files to node" エラーが発生するのはなぜですか?

このエラーは、異なるフロントエンド (FE) にインストールされている Setuptools バージョンが互換性がないために発生します。この問題を解決するには、次のコマンドを root ユーザーとして実行します。

yum remove python-setuptools

rm /usr/lib/python2.7/site-packages/setuptool* -rf

wget https://bootstrap.pypa.io/ez_setup.py -O - | python

StarRocks の FE および BE の構成を変更し、クラスタを再起動せずにそれらが反映されるようにするにはどうすればよいですか?

はい。FE と BE の変更を行うためには、次の手順を実行します。

  • FE: FE の変更は、以下のいずれかの方法で行えます:
    • SQL
ADMIN SET FRONTEND CONFIG ("key" = "value");

例:

ADMIN SET FRONTEND CONFIG ("enable_statistic_collect" = "false");
  • シェル
curl --location-trusted -u username:password \
http://<ip>:<fe_http_port/api/_set_config?key=value>

例:

curl --location-trusted -u <username>:<password> \
http://192.168.110.101:8030/api/_set_config?enable_statistic_collect=true
  • BE: BE の変更は、次のように行えます:
curl -XPOST -u username:password \
http://<ip>:<be_http_port>/api/update_config?key=value

注意: ユーザーがリモートログインの許可を持っていることを確認してください。持っていない場合は、次の方法でユーザーに許可を与えることができます:

CREATE USER 'test'@'%' IDENTIFIED BY '123456';

GRANT SELECT_PRIV ON . TO 'test'@'%';

BE ディスクの空き容量を拡張した後に "Failed to get scan range, no queryable replica found in tablet:xxxxx" エラーが発生した場合、どうすればよいですか?

問題の説明

このエラーは、プライマリキーのテーブルにデータをロードする際に発生する場合があります。データのロード中に、宛先の BE に十分なディスクスペースがなく、BE がクラッシュします。その後、新しいディスクを追加してディスクスペースを拡張します。しかし、プライマリキーのテーブルではディスクスペースの再バランスがサポートされていないため、データを他のディスクにオフロードすることはできません。

解決策

このバグ (プライマリキーのテーブルは BE ディスクスペースの再バランスをサポートしていない) への修正パッチは現在も開発中です。現時点では、次のいずれかの方法で修正できます。

  • ディスク間でデータを手動で分散します。たとえば、使用量の多いディスクから使用量の多いディスクにディレクトリをコピーします。
  • もしディスク上のデータが重要でない場合、ディスクを削除し、ディスクパスを変更します。このエラーが続く場合は、テーブル内のデータをクリアするために TRUNCATE TABLE を使用して一部のスペースを解放します。

クラスタ再起動時に FE を起動する際に "Fe type:unknown ,is ready :false." エラーが発生するのはなぜですか?

リーダー FE が実行されているかどうかを確認してください。実行されていない場合、クラスタ内の FE ノードを1つずつ再起動してください。

クラスタをデプロイする際に "failed to get service info err." エラーが発生するのはなぜですか?

OpenSSH デーモン (sshd) が有効になっているかどうかを確認してください。有効になっていない場合は、/etc/init.d/sshd`` status コマンドを実行して有効にしてください。

BE を起動する際に "Fail to get master client from cache. ``host= port=0 code=THRIFT_RPC_ERROR" エラーが発生するのはなぜですか?

netstat -anp |grep port コマンドを実行して、be.conf ファイルのポートが占有されているかどうかを確認してください。占有されている場合は、占有されているポートを空きポートに置き換えてから BE を再起動してください。

エンタープライズエディションのクラスタをアップグレードする際に "Failed to transport upgrade files to agent host. src:…" エラーが発生するのはなぜですか?

このエラーは、デプロイディレクトリで指定されたディスクスペースが不足している場合に発生します。クラスタのアップグレード中、StarRocks Manager は新バージョンのバイナリファイルを各ノードに配布します。デプロイディレクトリで指定されたディスクスペースが不足している場合、ファイルは各ノードに配布されません。この問題を解決するには、データディスクを追加してください。

正常に実行される新しくデプロイされた FE ノードの StarRocks Manager の診断ページ上のログに "Search log failed." と表示されるのはなぜですか?

デフォルトでは、StarRocks Manager は新しくデプロイされた FE のパス構成を30秒以内に取得します。このエラーは、FE が起動が遅くなるか、30秒内に応答しないために発生します。Manager Web のログを次のパスから確認してください:

/starrocks-manager-xxx/center/log/webcenter/log/web/``drms.INFO (パスはカスタマイズ可能です)。ログに "Failed to update FE configurations" というメッセージが表示されていれば、対応する FE を再起動して新しいパス構成を取得してください。

FE を起動する際に "exceeds max permissable delta:5000ms." エラーが発生するのはなぜですか?

このエラーは、2つのマシンの時差が5秒を超える場合に発生します。この問題を解決するには、これら2つのマシンの時刻を合わせてください。

データの保存に BE の複数のディスクがある場合、storage_root_path パラメータをどのように設定すればよいですか?

be.conf ファイルで storage_root_path パラメータを設定し、このパラメータの値を ; で区切ります。例: storage_root_path=/the/path/to/storage1;/the/path/to/storage2;/the/path/to/storage3;

FE をクラスタに追加した後に "invalid cluster id: 209721925." エラーが発生するのはなぜですか?

クラスタを初めて起動する際にこの FE に --helper オプションを追加しなかった場合、2台のマシン間のメタデータが不整合となり、このエラーが発生します。この問題を解決するには、メタディレクトリの下のすべてのメタデータをクリアし、--helper オプションを指定して FE を追加する必要があります。

FE が実行中であり、ログに "transfer: follower" と表示されるときに Alive が false になるのはなぜですか?

この問題は、Java Virtual Machine (JVM) のメモリ使用量が半分以上になり、チェックポイントがマークされない場合に発生します。通常、システムは50,000件のログを蓄積した後にチェックポイントをマークします。各 FE の JVM のパラメータを変更し、フルに負荷がかかっていないときにこれらの FE を再起動することをおすすめします。