BE 設定 - 共有データ、データレイク、その他
BE の設定項目の中には、BE ノードがオンラインのときに対話的に設定できる動的パラメータがあります。それ以外は静的パラメータです。BE ノードの静的パラメータは、対応する設定ファイル be.conf を変更し、BE ノードを再起動して変更を有効にすることでのみ設定できます。
BE の設定項目を表示する
次のコマンドを使用して BE の設定項目を表示できます。
SELECT * FROM information_schema.be_configs [WHERE NAME LIKE "%<name_pattern>%"]
BE パラメータを設定する
BE の動的パラメータを設定する
BE ノードの動的パラメータは、information_schema.be_configs 内の値を更新することで設定できます。
警告
無効な値を設定すると、予期しない動作を引き起こす可能性があります。設定を更新するコマンドを実行する前に、必ず再確認してください。
-- <config_key> を設定のキーに、<config_value> を値に置き換えてください。
UPDATE information_schema.be_configs SET VALUE = <config_value> WHERE name = "<config_key>";
BE の静的パラメータを設定する
BE の静的パラ メータは、対応する設定ファイル be.conf で変更し、BE を再起動して変更を有効にすることでのみ設定できます。
このトピックでは、以下の種類のBE構成について紹介します:
共有データ
cloud_native_pk_index_rebuild_files_threshold
- デフォルト: 50
- タイプ: Int
- 単位: -
- 変更可能: Yes
- 説明: クラウドネイティブ主キーインデックスのリビルド時に許容される最大 Segment ファイル数。リビルドが必要なファイル数がこの閾値を超えた場合、StarRocks はメモリ内の MemTable を即座にフラッシュし、リプレイが必要な Segment 数を削減します。
0に設定するとこの早期フラッシュ戦略は無効になります。 - 導入バージョン: -
cloud_native_pk_index_rebuild_rows_threshold
- デフォルト: 10000000
- タイプ: Long
- 単位: 行
- 変更可能: Yes
- 説明: クラウドネイティブ主キーインデックスのリビルド時に許容される最大行数。リビルドが必要な行数がこの閾値を超えた場合、StarRocks はメモリ内の MemTable を即座にフラッシュし、インデックス再構築のコストを削減します。
0に設定するとこの早期フラッシュ戦略は無効になります。cloud_native_pk_index_rebuild_files_thresholdと連携して動作し、いずれかの閾値を超えるとフラッシュがトリガーされます。 - 導入バージョン: -
download_buffer_size
- デフォルト: 4194304
- タイプ: Int
- 単位: Bytes
- 変更可能: Yes
- 説明: スナップショットファイルをダウンロードする際に使用されるメモリ内コピー用バッファのサイズ(バイト)。SnapshotLoader::download はこの値を fs::copy に対してリモートの sequential file からローカルの writable file へ読み込む際の 1 回あたりのチャンクサイズとして渡します。帯域幅の大きいリンクでは、より大きな値にすることで syscall/IO オーバーヘッドが減りスループットが向上する可能性があります。小さい値はアクティブな転送ご とのピークメモリ使用量を削減します。注意: このパラメータはストリームごとのバッファサイズを制御するものであり、ダウンロードスレッド数を制御するものではありません — 総メモリ消費量 = download_buffer_size * number_of_concurrent_downloads です。
- 導入バージョン: v3.2.13
graceful_exit_wait_for_frontend_heartbeat
- デフォルト: false
- タイプ: Boolean
- 単位: -
- 変更可能: Yes
- 説明: グレースフルシャットダウンを完了する前に、少なくとも1件のフロントエンドからの heartbeat 応答で SHUTDOWN 状態が返されるのを待つかどうかを決定します。有効にすると、heartbeat RPC を介して SHUTDOWN の確認が返されるまでグレースフルシャットダウン処理は継続され、フロントエンドが通常の2回のハートビート間隔内で終了状態を検出するための十分な時間を確保します。
- 導入バージョン: v3.4.5
lake_compaction_stream_buffer_size_bytes
- デフォルト: 1048576
- タイプ: Int
- 単位: バイト
- 変更可能: はい
- 説明: 共有データクラスタでのクラウドネイティブテーブルコンパクションのためのリーダーのリモート I/O バッファサイズ。デフォルト値は 1MB です。この値を増やすことでコンパクションプロセスを加速できます。
- 導入バージョン: v3.2.3
lake_enable_pk_preserve_txn_delete_order
- デフォルト: false
- タイプ: Boolean
- 単位: -
- 変更可能: はい
- 説明: 共有データクラスタの主キーテーブルにおいて、1 つのトランザクション内での UPSERT と DELETE の順序を保持するかどうか。1 つのロードトランザクションに同一キーの
DELETEとそれ以降の再UPSERTが含まれる場合、有効にすると再 UPSERT が優先されます(共有なしクラスタの動作と一致)。ダウングレードの安全性のためデフォルトでは無効です。有効にすると、この修正をサポートしないバージョンにロールバックした BE が誤って解釈しうるオンディスクメタデータをロードが永続化し、主キーの重複を引き起こす可能性があります。クラスタ全体がこの機能をサポートするバージョンにアップグレードされ、ロールバックする予定がなくなった後にのみ有効にしてください。無効の場合、DELETE は従来の動作(トランザクション内のすべての UPSERT の後に適用)にフォールバックします。 - 導入バージョン: -
lake_enable_protobuf_file_checksum
- デフォルト: false
- タイプ: Boolean
- 単位: -
- 変更可能: はい
- 説明: 共有データクラスタの Tablet メタデータおよびトランザクションログファイルを、Adler-32 チェックサム付きで書き込むかどうか。これにより、これらのファイルの破損を読み取り時に検出できます。この項目の設定にかかわらず、読み取り側はチェックサムが存在する場合は常に自動的に検出して検証します。この項目は書き込み形式のみを制御します。クラスタ全体がこの形式を認識できるバージョンにアップグレードされた後にのみ、この項目を有効にしてください。ローリングアップグレードまたはダウングレードの期間中、古い BE または CN は旧来のリーダーを使用するため、新形式で書き込まれたファイルを解析できません。
- 導入バージョン: v4.2
lake_pk_compaction_max_input_rowsets
- デフォルト: 500
- タイプ: Int
- 単位: -
- 変更可能: はい
- 説明: 共有データクラスタでの主キーテーブルコンパクションタス クで許可される最大入力 rowset 数。このパラメータのデフォルト値は v3.2.4 および v3.1.10 以降
5から1000に、v3.3.1 および v3.2.9 以降500に変更されました。主キーテーブルのためのサイズ階層型コンパクションポリシーが有効になった後 (enable_pk_size_tiered_compaction_strategyをtrueに設定することで)、StarRocks は各コンパクションの rowset 数を制限して書き込み増幅を減らす必要がなくなります。したがって、このパラメータのデフォルト値は増加しました。 - 導入バージョン: v3.1.8, v3.2.3
lake_put_txn_log_timeout_guard_ms
- デフォルト: -1
- タイプ: Int64
- 単位: ミリ秒
- 変更可能: はい
- 説明: 共有データクラスタでオブジェクトストレージにトランザクションログを書き込む際(
put_txn_logおよびput_combined_txn_logパス)のタイムアウトガードのしきい値。トランザクションログの書き込みがこの値より長くかかった場合、StarRocks は遅いスレッドのスタックトレースを BE ログにダンプし、オブジェクトストレージへの書き込みが遅い原因の診断に役立てます。デフォルトでは無効(0以下でこのガードを無効化)。有効にするには4000(4 秒)などの正の値を設定します。 - 導入バージョン: -
lake_rows_mapper_read_parallelism
- デフォルト: 32
- タイプ: Int
- 単位: sub-chunk 数
- 変更可能: はい
- 説明: 共有データクラスタでの主キーテーブル軽量コンパクション publish 時、
RowsMapperIteratorが.lcrm(lake compaction rows-mapper)ファイルを読む際に in-flight で保持する sub-chunk 読み取りの最大数。各 sub-chunk のサイズはlake_rows_mapper_sub_chunk_bytesで制御され、segment 境界をまたぎません。イテレータは PK index 実行スレッドプールに最大この数の並行読み取りを投入し、リモート読み取りを呼び出し側の per-segment 処理とパイプライン化します。メモリ上限はlake_rows_mapper_read_parallelism * lake_rows_mapper_sub_chunk_bytes。1に設定するとパイプライン化を無効にし、逐次読み取りにフォールバックします。
lake_rows_mapper_sub_chunk_bytes
- デフォルト: 4194304
- タイプ: Int
- 単位: バイト
- 変更可能: はい
- 説明: 共有データクラスタでの主キーテーブル軽量コンパクション publish 時、
RowsMapperIteratorのパイプライン化された.lcrm読み取り における sub-chunk の粒度。各出力 segment はceil(segment_bytes / lake_rows_mapper_sub_chunk_bytes)個の sub-chunk に分割され、独立してパイプライン化されます。値を小さくするほど、少数の大きな出力 segment で達成可能な並列度が上がりますが、その代わりに範囲読み取りが増え、consume 時に追加の memcpy が発生します。デフォルトは 4 MiB で、starcache のディスク層 block サイズと一致させています。
lake_vacuum_min_batch_delete_size
- デフォルト: 200
- タイプ: Int64
- 単位: ファイル数
- 変更可能: はい
- 説明: 共有データクラスタにおいて、Vacuum が単一の
DeleteObjectsリクエストにまとめる古いファイルの数。バッチを大きくすると、呼び出しごとの HTTP / 認証 / 署名オーバーヘッドが摊销され、オブジェクトストレージの prefix 単位リクエストレートへの圧力も軽減されますが、一回あたりの latency が上がり、瞬間的なエラーで retry した際の replay コストも増えます。AWS S3 ではDeleteObjectsのサーバー処理時間が batch size にほとんど依存しないため、AWS S3 ユーザーはこの値をプロトコル上限の1000までさらに引き上げることを推奨します。
loop_count_wait_fragments_finish
- デフォルト: 2
- タイプ: Int
- 単位: -
- 変更可能: Yes
- 説明: BE/CN プロセスが終了する際に待機するループ回数。各ループは固定間隔の 10 秒です。ループ待機を無効にするには
0に設定できます。v3.4 以降、この項目は変更可能になり、デフォルト値は0から2に変更されました。 - 導入バージョン: v2.5
starlet_filesystem_instance_cache_capacity
- デフォルト: 10000
- タイプ: Int
- 単位: 秒
- 変更可能: はい
- 説明: starlet filesystem インスタンスのキャッシュ容量。
- 導入バージョン: v3.2.16, v3.3.11, v3.4.1
starlet_filesystem_instance_cache_ttl_sec
- デフォルト: 86400
- タイプ: Int
- 単位: 秒
- 変更可能: はい
- 説明: starlet filesystem インスタンス キャッシュの有効期限。
- 導入バージョン: v3.3.15, 3.4.5
starlet_port
- デフォルト: 9070
- タイプ: Int
- 単位: -
- 変更可能: いいえ
- 説明: BE および CN のための追加のエージェントサービスポート。
- 導入バージョン: -
starlet_star_cache_disk_size_percent
- デフォルト: 80
- タイプ: Int
- 単位: -
- 変更可能: いいえ
- 説明: 共有データクラスタで Data Cache が使用できるディスク容量の割合。
datacache_unified_instance_enableがfalseの場合のみ有効です。 - 導入バージョン: v3.1
starlet_use_star_cache
- デフォルト: v3.1 では false、v3.2.3 以降は true
- タイプ: Boolean
- 単位: -
- 変更可能: はい
- 説明: 共有データクラスタで Data Cache を有効にするかどうか。
trueはこの機能を有効にすることを示し、falseは無効にすることを示します。デフォ ルト値は v3.2.3 以降、falseからtrueに設定されました。 - 導入バージョン: v3.1
starlet_write_file_with_tag
- デフォルト: false
- タイプ: Boolean
- 単位: -
- 変更可能: はい
- 説明: 共有データクラスターにおいて、オブジェクトストレージに書き込まれたファイルにオブジェクトストレージタグを付与し、便利なカスタムファイル管理を行うかどうか。
- 導入バージョン: v3.5.3
table_schema_service_max_retries
- デフォルト: 3
- タイプ: Int
- 単位: -
- 変更可能: はい
- 説明: Table Schema Service リクエストの最大リトライ回数。
- 導入バージョン: v4.1