メインコンテンツまでスキップ
バージョン: 2.5

Broker ノードのデプロイと管理

このトピックでは、Broker ノードのデプロイ方法について説明します。Broker ノードを使用すると、StarRocks は HDFS や S3 などのソースからデータを読み取り、独自の計算リソースでデータを前処理、ロード、バックアップできます。

各 BE ノードをホストするインスタンスに 1 つの Broker ノードをデプロイし、すべての Broker ノードを同じ broker_name で追加することをお勧めします。Broker ノードは、タスクを処理する際にデータ伝送の負荷を自動的にバランスします。

Broker ノードはネットワーク接続を使用してデータを BE ノードに送信します。Broker ノードと BE ノードが同じマシンにデプロイされている場合、Broker ノードはデータをローカルの BE ノードに送信します。

始める前に

Deployment prerequisitesCheck environment configurations、および Prepare deployment files に記載されている指示に従って、必要な設定を完了していることを確認してください。

Broker サービスの開始

以下の手順は BE インスタンスで実行されます。

  1. 以前に準備した StarRocks Broker deployment files を格納しているディレクトリに移動し、Broker 設定ファイル apache_hdfs_broker/conf/apache_hdfs_broker.conf を修正します。

    インスタンス上の HDFS Thrift RPC ポート (broker_ipc_port, デフォルト: 8000) が使用中の場合は、Broker 設定ファイルで有効な代替ポートを指定する必要があります。

    broker_ipc_port = aaaa        # Default: 8000

    以下の表は、Broker がサポートする設定項目を示しています。

    Configuration itemDefaultUnitDescription
    hdfs_read_buffer_size_kb8192KBHDFS からデータを読み取るために使用されるバッファのサイズ。
    hdfs_write_buffer_size_kb1024KBHDFS にデータを書き込むために使用されるバッファのサイズ。
    client_expire_seconds300Second指定された時間後に ping を受信しない場合、クライアントセッションは削除されます。
    broker_ipc_port8000N/AHDFS Thrift RPC ポート。
    disable_broker_client_expiration_checkingfalseN/A期限切れの OSS ファイルディスクリプタのチェックとクリアを無効にするかどうか。一部のケースでは、OSS が閉じると Broker がスタックする原因となります。この状況を回避するために、このパラメータを true に設定してチェックを無効にできます。
    sys_log_dir${BROKER_HOME}/logN/Aシステムログ (INFO、WARNING、ERROR、FATAL を含む) を格納するディレクトリ。
    sys_log_levelINFON/Aログレベル。有効な値は INFO、WARNING、ERROR、FATAL です。
    sys_log_roll_modeSIZE-MB-1024N/Aシステムログがログロールに分割されるモード。有効な値は TIME-DAY、TIME-HOUR、SIZE-MB-nnn です。デフォルト値は、ログが 1 GB ごとにロールに分割されることを示します。
    sys_log_roll_num30N/Aログロールを保持する数。
    audit_log_dir${BROKER_HOME}/logN/A監査ログファイルを格納するディレクトリ。
    audit_log_modules空文字列N/AStarRocks が監査ログエントリを生成するモジュール。デフォルトでは、StarRocks は slow_query モジュールと query モジュールの監査ログを生成します。複数のモジュールを指定でき、名前はカンマ (,) とスペースで区切る必要があります。
    audit_log_roll_modeTIME-DAYN/A有効な値は TIME-DAYTIME-HOURSIZE-MB-<size> です。
    audit_log_roll_num10N/Aこの設定は audit_log_roll_mode が SIZE-MB-<size> に設定されている場合は機能しません。
    sys_log_verbose_modulescom.starrocksN/AStarRocks がシステムログを生成するモジュール。有効な値は BE の名前空間であり、starrocksstarrocks::debugstarrocks::fsstarrocks::iostarrocks::lakestarrocks::pipelinestarrocks::query_cachestarrocks::streamstarrocks::workgroup などがあります。
  2. Broker ノードを開始します。

    ./apache_hdfs_broker/bin/start_broker.sh --daemon
  3. Broker ログを確認して、Broker ノードが正常に開始されたかどうかを確認します。

    cat apache_hdfs_broker/log/apache_hdfs_broker.log | grep thrift
  4. 他のインスタンスで上記の手順を繰り返して、新しい Broker ノードを開始できます。

Broker ノードをクラスターに追加

以下の手順は MySQL クライアントで実行されます。MySQL クライアント 5.5.0 以降がインストールされている必要があります。

  1. MySQL クライアントを介して StarRocks に接続します。初期アカウント root でログインする必要があり、デフォルトではパスワードは空です。

    # <fe_address> を接続する FE ノードの IP アドレス (priority_networks) または FQDN に置き換え、
    # <query_port> (デフォルト: 9030) を fe.conf で指定した query_port に置き換えます。
    mysql -h <fe_address> -P<query_port> -uroot
  2. 次のコマンドを実行して、Broker ノードをクラスターに追加します。

    ALTER SYSTEM ADD BROKER <broker_name> "<broker_address>:<broker_ipc_port>";

    NOTE

    • 上記のコマンドを使用して、複数の Broker ノードを一度に追加できます。各 <broker_address>:<broker_ipc_port> ペアは 1 つの Broker ノードを表します。
    • 同じ broker_name を持つ複数の Broker ノードを追加できます。
  3. MySQL クライアントを介して Broker ノードが正しく追加されたかどうかを確認します。

SHOW PROC "/brokers"\G

例:

MySQL [(none)]> SHOW PROC "/brokers"\G
*************************** 1. row ***************************
Name: broker1
IP: x.x.x.x
Port: 8000
Alive: true
LastStartTime: 2022-05-19 11:21:36
LastUpdateTime: 2022-05-19 11:28:31
ErrMsg:
1 row in set (0.00 sec)

フィールド Alivetrue の場合、この Broker は正常に開始され、クラスターに追加されています。

Broker ノードの停止

Broker ノードを停止するには、次のコマンドを実行します。

./bin/stop_broker.sh --daemon

Broker ノードのアップグレード

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

    # <broker_dir> を Broker ノードのデプロイメントディレクトリに置き換えます。
    cd <broker_dir>/apache_hdfs_broker
    sh bin/stop_broker.sh
  2. bin および lib の下にある元のデプロイメントファイルを新しいバージョンのものに置き換えます。

    mv lib lib.bak 
    mv bin bin.bak
    cp -r /tmp/StarRocks-x.x.x/apache_hdfs_broker/lib .
    cp -r /tmp/StarRocks-x.x.x/apache_hdfs_broker/bin .
  3. Broker ノードを開始します。

    sh bin/start_broker.sh --daemon
  4. Broker ノードが正常に開始されたかどうかを確認します。

    ps aux | grep broker
  5. 他の Broker ノードをアップグレードするために、上記の手順を繰り返します。

Broker ノードのダウングレード

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

    # <broker_dir> を Broker ノードのデプロイメントディレクトリに置き換えます。
    cd <broker_dir>/apache_hdfs_broker
    sh bin/stop_broker.sh
  2. bin および lib の下にある元のデプロイメントファイルを以前のバージョンのものに置き換えます。

    mv lib lib.bak 
    mv bin bin.bak
    cp -r /tmp/StarRocks-x.x.x/apache_hdfs_broker/lib .
    cp -r /tmp/StarRocks-x.x.x/apache_hdfs_broker/bin .
  3. Broker ノードを開始します。

    sh bin/start_broker.sh --daemon
  4. Broker ノードが正常に開始されたかどうかを確認します。

    ps aux | grep broker
  5. 他の Broker ノードをダウングレードするために、上記の手順を繰り返します。