StarRocks を手動でデプロイする
手動デプロイの準備は、 Deployment prerequisites と Check environment configurations のドキュメントに記載されています。プロダクションデプロイを計画している場合は、まずそちらを参照してください。StarRocks を始める場合で、クイックスタートのいずれかを試したい場合は、 Quick Starts を参照してください。
このトピックでは、共有なし StarRocks(BE がストレージとコンピューティングの両方を担当する)を手動でデプロイする方法について説明します。他のインストールモードについては、 Deployment Overview を参照してください。
共有データ StarRocks クラスタ(ストレージとコンピューティングを分離)をデプロイするには、 Deploy and use shared-data StarRocks を参照してください。
ステップ 1: Leader FE ノードを起動する
以下の手順は、FE インスタンスで実行されます。
-
メタデータストレージ用の専用ディレクトリを作成します。メタデータは、FE デプロイメントファイルとは別のディレクトリに保存することをお勧めします。このディレクトリが存在し、書き込み権限があることを確認してください。
# <meta_dir> を作 成したいメタデータディレクトリに置き換えます。
mkdir -p <meta_dir> -
以前に準備した StarRocks FE デプロイメントファイル を保存しているディレクトリに移動し、FE 設定ファイル fe/conf/fe.conf を変更します。
a. 設定項目
meta_dirにメタデータディレクトリを指定します。# <meta_dir> を作成したメタデータディレクトリに置き換えます。
meta_dir = <meta_dir>b. Environment Configuration Checklist に記載されている FE ポートのいずれかが使用中の場合は、FE 設定ファイルで有効な代替ポートを割り当てる必要があります。
http_port = aaaa # デフォルト: 8030
rpc_port = bbbb # デフォルト: 9020
query_port = cccc # デフォルト: 9030
edit_log_port = dddd # デフォルト: 9010注意
クラスタ内に複数の FE ノードをデプロイする場合は、各 FE ノードに同じ
http_portを割り当てる必要があります。c. クラスタに対して IP アドレスアクセスを有効にしたい場合は、設定ファイルに
priority_networksという設定項目を追加し、FE ノードに専用の IP アドレス(CIDR 形式)を割り当てる必要があります。クラスタに対して FQDN アクセス を有効にしたい場合は、この設定項目を無視できます。priority_networks = x.x.x.x/x注意
ターミナルで
ifconfigを実行すると、インスタンスが所有する IP アドレスを確認できます。d. インスタンスに複数の JDK がインストールされており、環境変数
JAVA_HOMEに指定されているものとは異なる特定の JDK を使用したい場合は、設定ファイルにJAVA_HOMEという設定項目を追加して、選択した JDK がインストールされているパスを指定する必要があります。# <path_to_JDK> を選択した JDK がインストールされているパスに置き換えます。
JAVA_HOME = <path_to_JDK>f. 高度な設定項目については、 Parameter Configuration - FE configuration items を参照してください。
-
FE ノードを起動します。
-
クラスタに対して IP アドレスアクセスを有効にするには、以下のコマンドを実行して FE ノードを起動します。
./fe/bin/start_fe.sh --daemon -
クラスタに対して FQDN アクセスを有効にするには、以下のコマンドを実行して FE ノードを起動します。
./fe/bin/start_fe.sh --host_type FQDN --daemonノードを初めて起動する際に、パラメータ
--host_typeを一度だけ指定する必要があります。注意
FQDN アクセスを有効にして FE ノードを起動する前に、すべてのインスタンスにホスト名を割り当てたことを確認してください。詳細は Environment Configuration Checklist - Hostnames を参照してください。
-
-
FE ログを確認して、FE ノードが正常に起動したかどうかを確認します。
cat fe/log/fe.log | grep thriftログに "2022-08-10 16:12:29,911 INFO (UNKNOWN x.x.x.x_9010_1660119137253(-1)|1) [FeServer.start():52] thrift server started with port 9020." といった記録があれば、FE ノードが正常に起動したことを示しています。
ステップ 2: (共有なしの場合) BE サービスを起動する
BE ノードは共有なしクラスタにのみ追加できます。共有データクラスタに BE ノードを追加することは推奨されず、未知の動作を引き起こす可能性があります。
以下の手順は、BE インスタンスで実行されます。
-
データストレージ用の専用ディレクトリを作成します。データは、BE デプロイメントディレクトリとは別のディレクトリに保存することをお勧めします。このディレクトリが存在し、書き込み権限があることを確認してください。
# <storage_root_path> を作成したいデータストレージディレクトリに置き換えます。
mkdir -p <storage_root_path> -
以前に準備した StarRocks BE デプロイメントファイル を保存しているディレクトリに移動し、BE 設定ファイル be/conf/be.conf を変更します。
a. 設定項目
storage_root_pathにデータディレクトリを指定します。# <storage_root_path> を作成したデータディレクトリに置き換えます。
storage_root_path = <storage_root_path>b. Environment Configuration Checklist に記載されている BE ポートのいずれかが使用中の場合は、BE 設定ファイルで有効な代替ポートを割り当てる必要があります。
be_port = vvvv # デフォルト: 9060
be_http_port = xxxx # デフォルト: 8040
heartbeat_service_port = yyyy # デフォルト: 9050
brpc_port = zzzz # デフォルト: 8060c. クラスタに対して IP アドレスアクセスを有効にしたい場合は、設定ファイルに
priority_networksという設定項目を追加し、BE ノードに専用の IP アドレス(CIDR 形式)を割り当てる必要があります。クラスタに対して FQDN アクセスを有効にしたい場合は、この設定項目を無視できます。priority_networks = x.x.x.x/x注意
ターミナルで
ifconfigを実行すると、インスタンスが所有する IP アドレスを確認できます。d. インスタンスに複数の JDK がインストールされており、環境変数
JAVA_HOMEに指定されているものとは異なる特定の JDK を使用したい場合は、設定ファイルにJAVA_HOMEという設定項目を追加して、選択した JDK がインストールされているパスを指定する必要があります。# <path_to_JDK> を選択した JDK がインストールされているパスに置き換えます。
JAVA_HOME = <path_to_JDK>高度な設定項目については、 Parameter Configuration - BE configuration items を参照してください。
-
BE ノードを起動します。
./be/bin/start_be.sh --daemon注意
- FQDN アクセスを有効にして BE ノー ドを起動する前に、すべてのインスタンスにホスト名を割り当てたことを確認してください。詳細は Environment Configuration Checklist - Hostnames を参照してください。
- BE ノードを起動する際にパラメータ
--host_typeを指定する必要はありません。
-
BE ログを確認して、BE ノードが正常に起動したかどうかを確認します。
cat be/log/be.INFO | grep heartbeatログに "I0810 16:18:44.487284 3310141 task_worker_pool.cpp:1387] Waiting to receive first heartbeat from frontend" といった記録があれば、BE ノードが正常に起動したことを示しています。
-
他の BE インスタンスで上記の手順を繰り返すことで、新しい BE ノードを起動できます。
注意
BE ノードが少なくとも 3 つデプロイされ、StarRocks クラスタに追加されると、高可用性クラスタが自動的に形成されます。