FE 設定 - 共有データ、データレイク、その他
FE パラメータは、動的パラメータと静的パラメータに分類されます。
-
動的パラメータは、SQL コマンドを実行することで設定および調整でき、非常に便利です。ただし、FE を再起動すると設定が無効になります。そのため、fe.conf ファイルの設定項目も変更して、変更が失われないようにすることをお勧めします。
-
静的パラメータは、FE の設定ファイル fe.conf でのみ設定および調整できます。このファイルを変更した後、変更を有効にするには FE を再起動する必要があります。
パラメータが動的パラメータであるかどうかは、ADMIN SHOW CONFIG の出力の IsMutable 列で示されます。TRUE は動的パラメータを示します。
動的および静的 FE パラメータの両方が fe.conf ファイルで設定できることに注意してください。
FE 設定項目の表示
FE の起動後、MySQL クライアントで ADMIN SHOW FRONTEND CONFIG コマン ドを実行して、パラメーター設定を確認できます。特定のパラメーターの設定をクエリするには、次のコマンドを実行します。
ADMIN SHOW FRONTEND CONFIG [LIKE "pattern"];
返されるフィールドの詳細な説明については、ADMIN SHOW CONFIG を参照してください。
クラスター管理関連コマンドを実行するには、管理者権限が必要です。
FE パラメーターの設定
FE 動的パラメーターの設定
ADMIN SET FRONTEND CONFIG を使用して、FE 動的パラメーターの設定を構成または変更できます。
ADMIN SET FRONTEND CONFIG ("key" = "value");
ADMIN SET FRONTEND で行った設定変更は、FE が再起動すると fe.conf ファイルのデフォルト値に戻ります。したがって、変更を永続的にしたい場合は、fe.conf の設定項目も変更することをお勧めします。
FE 静的パラメーターの設定
FE の静的パラメータは、設定ファイル fe.conf を変更し、FE を再起動して変更を反映させることで設定されます。
このトピックでは、以下の種類のFE構成について紹介します:
共有データ
aws_s3_access_key
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:S3 バケットにアクセスするために使用するアクセスキー ID。
- 導入時期:v3.0
aws_s3_endpoint
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:S3 バケットにアクセスするために使用するエンドポイント。例:
https://s3.us-west-2.amazonaws.com。 - 導入時期:v3.0
aws_s3_external_id
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:S3 バケットへのクロスアカウントアクセスに使用される AWS アカウントの外部 ID。
- 導入時期:v3.0
aws_s3_iam_role_arn
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:データファイルが格納されている S3 バケットに対する権限を持つ IAM ロールの ARN。
- 導入時期:v3.0
aws_s3_path
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:データを格納するために使用される S3 パス。S3 バケットの名前とその下のサブパス (存在する場合) で構成されます。例:
testbucket/subpath。 - 導入時期:v3.0
aws_s3_region
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:S3 バケットが存在するリージョン。例:
us-west-2。 - 導入時期:v3.0
aws_s3_secret_key
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:S3 バケットにアクセスするために使用するシークレットアクセスキー。
- 導入時期:v3.0
aws_s3_use_aws_sdk_default_behavior
- デフォルト:false
- タイプ:Boolean
- 単位:-
- 変更可能:No
- 説明:AWS SDK のデフォルトの認証資格情報を使用するかどうか。 有効な値: true および false (デフォルト)。
- 導入時期:v3.0
aws_s3_use_instance_profile
- デフォルト:false
- タイプ:Boolean
- 単位:-
- 変更可能:No
- 説明:S3 にアクセスするための認証方法としてインスタンスプロファイルと引き受けロールを使用するかどうか。有効な値: true および false (デフォルト)。
- IAM ユーザーベースの認証情報 (アクセスキーとシークレットキー) を使用して S3 にアクセスする場合、この項目を
falseに指定し、aws_s3_access_keyとaws_s3_secret_keyを指定する必要があります。 - インスタンスプロファイルを使用して S3 にアクセスする場合、この項目を
trueに指定する必要があります。 - 引き受けロールを使用して S3 にアクセスする場合、この項目を
trueに指定し、aws_s3_iam_role_arnを指定する必要があります。 - 外部 AWS アカウントを使用する場合、
aws_s3_external_idも指定する必要があります。
- IAM ユーザーベースの認証情報 (アクセスキーとシークレットキー) を使用して S3 にアクセスする場合、この項目を
- 導入時期:v3.0
azure_adls2_endpoint
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:Azure Data Lake Storage Gen2 アカウントのエンドポイント。例:
https://test.dfs.core.windows.net。 - 導入時期:v3.4.1
azure_adls2_oauth2_client_id
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:Azure Data Lake Storage Gen2 の要求を承認するために使用されるマネージド ID のクライアント ID。
- 導入時期:v3.4.4
azure_adls2_oauth2_tenant_id
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:Azure Data Lake Storage Gen2 の要求を承認するために使用されるマネージド ID のテナント ID。
- 導入時期:v3.4.4
azure_adls2_oauth2_use_managed_identity
- デフォルト:false
- タイプ:Boolean
- 単位:-
- 変更可能:No
- 説明:Azure Data Lake Storage Gen2 の要求を承認するためにマネージド ID を使用するかどうか。
- 導入時期:v3.4.4
azure_adls2_path
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:データを格納するために使用される Azure Data Lake Storage Gen2 パス。ファイルシステム名とディレクトリ名で構成されます。例:
testfilesystem/starrocks。 - 導入時期:v3.4.1
azure_adls2_sas_token
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:Azure Data Lake Storage Gen2 の要求を承認するために使用される共有アクセスシグネチャ (SAS)。
- 導入時期:v3.4.1
azure_adls2_shared_key
- デフォルト :Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:Azure Data Lake Storage Gen2 の要求を承認するために使用される共有キー。
- 導入時期:v3.4.1
azure_blob_endpoint
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:Azure Blob Storage アカウントのエンドポイント。例:
https://test.blob.core.windows.net。 - 導入時期:v3.1
azure_blob_path
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:データを格納するために使用される Azure Blob Storage パス。ストレージアカウント内のコンテナーの名前とコンテナー内のサブパス (存在する場合) で構成されます。例:
testcontainer/subpath。 - 導入時期:v3.1
azure_blob_sas_token
- デフォルト:Empty string
- タイプ :String
- 単位:-
- 変更可能:No
- 説明:Azure Blob Storage の要求を承認するために使用される共有アクセスシグネチャ (SAS)。
- 導入時期:v3.1
azure_blob_shared_key
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:Azure Blob Storage の要求を承認するために使用される共有キー。
- 導入時期:v3.1
azure_use_native_sdk
- デフォルト:true
- タイプ:Boolean
- 単位:-
- 変更可能:Yes
- 説明:Azure Blob Storage にアクセスするためにネイティブ SDK を使用するかどうか。これにより、マネージド ID およびサービスプリンシパルでの認証が可能になります。この項目が
falseに設定されている場合、共有キーと SAS トークンでの認証のみが許可されます。 - 導入時期:v3.4.4
cloud_native_hdfs_url
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:HDFS ストレージの URL。例:
hdfs://127.0.0.1:9000/user/xxx/starrocks/。 - 導入時期:-
cloud_native_meta_port
- デフォルト:6090
- タイプ:Int
- 単位:-
- 変更可能:No
- 説明:FE クラウドネイティブメタデータサーバー RPC リッスンポート。
- 導入時期:-
cloud_native_storage_type
- デフォルト:S3
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:使用するオブジェクトストレージのタイプ。共有データモードでは、StarRocks は HDFS、Azure Blob (v3.1.1 以降でサポート)、Azure Data Lake Storage Gen2 (v3.4.1 以降でサポート)、Google Storage (ネイティブ SDK、v3.5.1 以降でサポート)、および S3 プロトコルと互換性のあるオブジェクトストレージシステム (AWS S3、MinIO など) にデータを格納することをサポートしています。有効な値:
S3(デフォルト)、HDFS、AZBLOB、ADLS2、およびGS。このパラメーターをS3に指定した場合、aws_s3で始まるパラメーターを追加する必要があります。AZBLOBに指定した場合、azure_blobで始まるパラメーターを追加する必要があります。ADLS2に指定した場合、azure_adls2で始まるパラメーターを追加する必要があります。GSに指定した場合、gcp_gcsで始まるパラメーターを追加する必要があります。HDFSに指定した場合、cloud_native_hdfs_urlのみを指定する必要があります。 - 導入時期:-
enable_load_volume_from_conf
- デフォルト:false
- タイプ:Boolean
- 単位:-
- 変更可能:No
- 説明:StarRocks が FE 設定ファイルで指定されたオブジェクトストレージ関連プロパティを使用して、組み込みストレージボリュームを作成することを許可するかどうか。デフォルト値は v3.4.1 以降
trueからfalseに変更されました。 - 導入時期:v3.1.0
gcp_gcs_impersonation_service_account
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:Google Storage にアクセスするために、偽装ベースの認証を使用する場合に偽装するサービスアカウント。
- 導入時期:v3.5.1
gcp_gcs_path
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:データを格納するために使用される Google Cloud パス。Google Cloud バケットの名前とその下のサブパス (存在する場合) で構成されます。例:
testbucket/subpath。 - 導入時期:v3.5.1
gcp_gcs_service_account_email
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:サービスアカウント作成時に生成された JSON ファイル内のメールアドレス。例:
user@hello.iam.gserviceaccount.com。 - 導入時期:v3.5.1
gcp_gcs_service_account_private_key
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:サービスアカウント作成時に生成された JSON ファイル内の秘密鍵。例:
-----BEGIN PRIVATE KEY----xxxx-----END PRIVATE KEY-----\n。 - 導入時期:v3.5.1
gcp_gcs_service_account_private_key_id
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:サービスアカウント作成時に生成された JSON ファイル内の秘密鍵 ID。
- 導入時期:v3.5.1
gcp_gcs_use_compute_engine_service_account
- デフォルト:true
- タイプ:Boolean
- 単位:-
- 変更可能:No
- 説明:Compute Engine にバインドされているサービスアカウントを使用するかどうか。
- 導入時期:v3.5.1
hdfs_file_system_expire_seconds
- デフォルト:300
- タイプ:Int
- 単位:Seconds
- 変更可能:Yes
- 説明:HdfsFsManager が管理する未使用のキャッシュ HDFS/ObjectStore FileSystem の Time-to-live (秒単位)。FileSystemExpirationChecker (60 秒ごとに実行) はこの値を使用して各 HdfsFs.isExpired(...) を呼び出します。期限切れになるとマネージャーは基盤となる FileSystem を閉じ、キャッシュから削除します。アクセサーメソッド (例:
HdfsFs.getDFSFileSystem、getUserName、getConfiguration) は最終アクセス時刻を更新するため、有効期限は非アクティブに基づいています。値が小さいとアイドルリソースの保持は減りますが、再オープンオーバーヘッドが増加します。値が大きいとハンドルが長く保持され、より多くのリソースを消費する可能性があります。 - 導入時期:v3.2.0
lake_autovacuum_grace_period_minutes
- デフォルト:30
- タイプ:Long
- 単位:Minutes
- 変更可能:Yes
- 説明:共有データクラスターで履歴データバージョンを保持する時間範囲。この時間範囲内の履歴データバージョンは、コンパクション後に AutoVacuum によって自動的にクリーンアップされません。実行 中のクエリによってアクセスされるデータがクエリ完了前に削除されることを避けるため、この値を最大クエリ時間よりも大きく設定する必要があります。v3.3.0、v3.2.5、および v3.1.10 以降、デフォルト値は
5から30に変更されました。 - 導入時期:v3.1.0
lake_autovacuum_parallel_partitions
- デフォルト:8
- タイプ:Int
- 単位:-
- 変更可能:No
- 説明:共有データクラスターで同時に AutoVacuum を実行できるパーティションの最大数。AutoVacuum はコンパクション後のガベージコレクションです。
- 導入時期:v3.1.0
lake_autovacuum_partition_naptime_seconds
- デフォルト:180
- タイプ:Long
- 単位:Seconds
- 変更可能:Yes
- 説明:共有データクラスターで同じパーティションに対する AutoVacuum 操作間の最小間隔。
- 導入時期:v3.1.0
lake_autovacuum_stale_partition_threshold
- デフォルト:12
- タイプ:Long
- 単位:Hours
- 変更可能:Yes
- 説明:この時間範囲内にパーティションが更新されていない場合 (ロード、DELETE、またはコンパクション)、システムはこのパーティションに対して AutoVacuum を実行しません。
- 導入時期:v3.1.0
lake_compaction_allow_partial_success
- デフォルト:true
- タイプ:Boolean
- 単位:-
- 変更可能:Yes
- 説明:この項目が
trueに設定されている場合、サブタスクの 1 つが成功した場合、システムは共有データクラスターでのコンパクション操作を成功と見なします。 - 導入時期:v3.5.2
lake_compaction_disable_ids
- デフォルト:""
- タイプ:String
- 単位:-
- 変更可能:Yes
- 説明:共有データ モードでコンパクションが無効になっているテーブルまたはパーティションのリスト。形式はセミコロンで区切られた
tableId1;partitionId2です。例:12345;98765。 - 導入時期:v3.4.4
lake_compaction_history_size
- デフォルト:20
- タイプ:Int
- 単位:-
- 変更可能:Yes
- 説明:共有データクラスターのリーダー FE ノードのメモリに保持される最近の成功したコンパクションタスクレコードの数。
SHOW PROC '/compactions'コマンドを使用して、最近の成功したコンパクションタスクレコードを表示できます。コンパクション履歴は FE プロセスメモリに格納され、FE プロセスが再起動されると失われることに注意してください。 - 導入時期:v3.1.0
lake_compaction_max_parallel_default
- 默认值: 3
- 类型: Int
- 单位: -
- 是否可变: Yes
- 描述: 当建表时未指定
lake_compaction_max_parallel表属性时,每个 tablet 的默认最大并行 Compaction 子任务数。0表示禁用并行 Compaction。此配置作为表属性lake_compaction_max_parallel的默认值。
lake_compaction_max_tasks
- デフォルト:-1
- タイプ:Int
- 単位:-
- 変更可能:Yes
- 説明:共有データクラスターで許可される同時コンパクションタスクの最大数。この項目を
-1に設定すると、同時タスク数が適応的に計算されることを示します。この値を0に設定すると、コンパクションが無効になります。 - 導入時期:v3.1.0
lake_compaction_score_selector_min_score
- デフォルト:10.0
- タイプ:Double
- 単位:-
- 変更可能:Yes
- 説明:共有データクラスターでコンパクション操作をトリガーするコンパクションスコアのしきい値。パーティションのコンパクションスコアがこの値以上の場合、システムはそのパーティションでコンパクションを実行します。
- 導入時期:v3.1.0
lake_compaction_score_upper_bound
- デフォルト:2000
- タイプ:Long
- 単位:-
- 変更可能:Yes
- 説明:共有データクラスターのパーティションのコンパクションスコアの上限。
0は上限がないことを示します。この項目はlake_enable_ingest_slowdownがtrueに設定されている場合にのみ有効になります。パーティションのコンパクションスコアがこの上限に達するか超えると、受信ロードタスクは拒否されます。v3.3.6 以降、デフォルト値は0から2000に変更されました。 - 導入時期:v3.2.0
lake_compaction_interval_ms_on_success
- デフォルト: 10000
- タイプ: Long
- 単位: ミリ秒
- 変更可能: はい
- 説明: 共有データクラスタで、あるパーティションの Compaction が成功した後、そのパーティションで次の Compaction を開始するまでの間隔。エイリアスは
lake_min_compaction_interval_ms_on_successです。 - 導入時期:v3.2.0
lake_enable_balance_tablets_between_workers
- デフォルト:true
- タイプ:Boolean
- 単位:-
- 変更可能:Yes
- 説明:共有データクラスターでクラウドネイティブテーブルのタブレット移行中に、Compute ノード間でタブレットの数をバランスさせるかどうか。
trueは Compute ノード間でタブレットをバランスさせることを示し、falseはこの機能を無効にすることを示します。 - 導入時期:v3.3.4
lake_enable_ingest_slowdown
- デフォルト:true
- タイプ:Boolean
- 単位:-
- 変更可能:Yes
- 説明:共有データクラスターでデータ取り込みの減速を有効にするかどうか。データ取り込みの減速が有効になっている場合、パーティションのコンパクションスコアが
lake_ingest_slowdown_thresholdを超えると、そのパーティションでのロードタスクがスロットルダウンされます。この設定はrun_modeがshared_dataに設定されている場合にのみ有効になります。v3.3.6 以降、デフォルト値はfalseからtrueに変更されました。 - 導入時期:v3.2.0
lake_ingest_slowdown_threshold
- デフォルト:100
- タイプ:Long
- 単位:-
- 変更可能:Yes
- 説明:共有データクラスターでデータ取り込みの減速をトリガーするコンパクションスコアのしきい値。この設定は
lake_enable_ingest_slowdownがtrueに設定されている場合にのみ有効になります。 - 導入時期:v3.2.0
lake_publish_version_max_threads
- デフォルト:512
- タイプ:Int
- 単位:-
- 変更可能:Yes
- 説明:共有データクラスターでのバージョン公開タスクの最大スレッド数。
- 導入時期:v3.2.0
meta_sync_force_delete_shard_meta
- デフォルト:false
- タイプ:Boolean
- 単位:-
- 変更可能:Yes
- 説明:共有データクラスターのメタデータを直接削除し、リモートストレージファイルのクリーンアップをバ イパスすることを許可するかどうか。クリーンアップするシャードが過剰に多く、FE JVM のメモリ圧力が極端に高くなる場合にのみ、この項目を
trueに設定することをお勧めします。この機能を有効にすると、シャードまたはタブレットに属するデータファイルが自動的にクリーンアップされないことに注意してください。 - 導入時期:v3.2.10, v3.3.3
run_mode
-
デフォルト:
shared_nothing -
タイプ:String
-
単位:-
-
変更可能:No
-
説明:StarRocks クラスターの実行モード。有効な値:
shared_dataおよびshared_nothing(デフォルト)。shared_dataは StarRocks を共有データモードで実行することを示します。shared_nothingは StarRocks を共有なしモードで実行することを示します。
CAUTION
- StarRocks クラスターで
shared_dataとshared_nothingモードを同時に採用することはできません。混合デプロイメントはサポートされていません。 - クラスターのデプロイ後に
run_modeを変更しないでください。そうしないと、クラスターの再起動に失敗します。共有なしクラスターから共有データクラスターへの変換、またはその逆の変換はサポートされていません。
-
導入時期:-
shard_group_clean_threshold_sec
- デフォルト:3600
- タイプ:Long
- 単位:Seconds
- 変更可能:Yes
- 説明:FE が共有データクラスターで未使用のタブレットおよびシャードグループをクリーンアップするまでの時間。このしきい値内に作成されたタブレットおよびシャードグループはクリーンアップされません。
- 導入時期:-
star_mgr_meta_sync_interval_sec
- デフォルト:600
- タイプ:Long
- 単位:Seconds
- 変更可能:No
- 説明:FE が共有データクラスターで StarMgr と定期的なメタデータ同期を実行する間隔。
- 導入時期:-
starmgr_grpc_server_max_worker_threads
- デフォルト:1024
- タイプ:Int
- 単位:-
- 変 更可能:Yes
- 説明:FE の starmgr モジュールの grpc サーバーが使用するワーカー スレッドの最大数。
- 導入時期:v4.0.0, v3.5.8
starmgr_grpc_timeout_seconds
- デフォルト:5
- タイプ:Int
- 単位:Seconds
- 変更可能:Yes
- Description:
- 導入時期:-
データレイク
files_enable_insert_push_down_schema
- デフォルト:true
- タイプ:Boolean
- 単位:-
- 変更可能:Yes
- 説明:有効にすると、アナライザは INSERT ... FROM files() 操作のためにターゲットテーブルスキーマを
files()テーブル関数にプッシュしようとします。これは、ソースが FileTableFunctionRelation であり、ターゲットがネイティブテーブルであり、SELECT リストにそれに対応するスロット参照列 (または *) が含まれている場合にのみ適用されます。アナライ ザは選択された列をターゲット列に一致させ (カウントが一致する必要があります)、ターゲットテーブルを一時的にロックし、ファイル列の型を非複合型 (Parquet JSON ->array<varchar>のような複合型はスキップされます) のディープコピーされたターゲット列型で置き換えます。元のファイルテーブルからの列名は保持されます。これにより、取り込み中のファイルベースの型推論による型ミスマッチと緩さが軽減されます。 - 導入時期:v3.4.0, v3.5.0
hdfs_read_buffer_size_kb
- デフォルト:8192
- タイプ:Int
- 単位:Kilobytes
- 変更可能:Yes
- 説明:HDFS 読み取りバッファのサイズ (キロバイト単位)。StarRocks はこの値をバイト (
<< 10) に変換し、HdfsFsManagerで HDFS 読み取りバッファを初期化したり、ブローカーアクセスが使用されていない場合に BE タスク (例:TBrokerScanRangeParams、TDownloadReq) に送信される thrift フィールドhdfs_read_buffer_size_kbを設定したりするために使用します。hdfs_read_buffer_size_kbを増やすと、シーケンシャル読み取りスループットが向上し、システムコールオーバーヘッドが減少しますが、ストリームごとのメモリ使用量が増加します。減らすとメモリフットプリントが減少しますが、I/O 効率が低下する可能性があります。調整時にはワークロード (多くの小さなストリームと少数の大きなシーケンシャル読み取り) を考慮してください。 - 導入時期:v3.2.0
hdfs_write_buffer_size_kb
- デフォルト:1024
- タイプ:Int
- 単位:Kilobytes
- 変更可能:Yes
- 説明:ブローカーを使用しない HDFS またはオブジェクトストレージへの直接書き込みに使用される HDFS 書き込みバッファサイズ (KB 単位) を設定します。FE はこの値をバイト (
<< 10) に変換し、HdfsFsManagerでローカル書き込みバッファを初期化します。また、Thrift リクエスト (例: TUploadReq、TExportSink、シンクオプション) に伝播され、バックエンド/エージェントが同じバッファサイズを使用するようにします。この値を増やすと、大きなシーケンシャル書き込みのスループットが向上しますが、ライターごとのメモリが増加します。減らすと、ストリームごとのメモリ使用量が減少し、小さな書き込みのレイテンシーが低下する可能性があります。hdfs_read_buffer_size_kbと並行して調整し、利用可能なメモリと同時ライターを考慮してください。 - 導入時期:v3.2.0