バックエンドノード (BE) は起動時に be.conf から設定を読み込みます。V0.14 以降では、2 つ目のファイル be_custom.conf に、動的に適用され永続化された設定項目が格納されます。同一のキーが両ファイルに存在する場合、be_custom.conf の値が優先されます。
両ファイルのデフォルト配置場所は、BE のデプロイパス直下の conf/ ディレクトリです。be_custom.conf をアップグレード時に上書きされないようにするには、custom_config_dir を別途指定したディレクトリに設定します。
現在の設定の確認
以下の URL をブラウザで開くと、すべての有効な設定項目を確認できます。
http://<be_host>:<be_webserver_port>/varz設定項目の適用
設定項目は、BE 起動時の静的適用と、実行中の BE に対する動的適用の 2 つの方法で適用できます。
静的構成
be.conf に設定項目を追加し、その後 BE を再起動します。be.conf に存在しない設定項目は、デフォルト値が使用されます。
例 — max_base_compaction_concurrency を 5 に設定する場合:
max_base_compaction_concurrency=5をbe.confに追加します。BE を再起動します。
動的構成
BE を再起動せずに、実行中の BE に対して設定項目を適用できます。
curl -X POST "http://<be_ip>:<be_http_port>/api/update_config?<key>=<value>"成功した応答は以下のようになります。
{
"status": "OK",
"msg": ""
}V0.13 以前では、動的に適用された設定項目は BE の再起動時に失われます。V0.14 以降では、&persist=true を付与することで、設定項目を be_custom.conf に書き込み、再起動後も保持できます。
curl -X POST "http://<be_ip>:<be_http_port>/api/update_config?<key>=<value>&persist=true"例 — streaming_load_max_mb を 1024 に動的に設定し、永続化する場合:
curl -X POST "http://<be_ip>:<be_http_port>/api/update_config?streaming_load_max_mb=1024&persist=true"無効な値を設定すると予期しない動作を引き起こす可能性があります。本番ノードでコマンドを実行する前に、値の妥当性を必ず確認してください。
設定項目
パラメーターは機能ごとにグループ化されています。「動的」とマークされた項目は、上記の動的構成コマンドを使用して BE の再起動なしに適用できます。
コンパクション
alter_tablet_worker_count
| プロパティ | 値 |
|---|---|
| デフォルト | 3 |
| 動的 | いいえ |
スキーマ変更操作に使用されるスレッド数です。
generate_compaction_tasks_min_interval_ms
| プロパティ | 値 |
|---|---|
| デフォルト | 10 |
| 単位 | ミリ秒 |
| 動的 | いいえ |
連続するコンパクションタスク生成間の最小間隔です。
enable_vectorized_compaction
| プロパティ | 値 |
|---|---|
| デフォルト | true |
| 型 | ブール値 |
| 動的 | いいえ |
ベクター化コンパクションを有効にするかどうかを指定します。
base_compaction_interval_seconds_since_last_operation
| プロパティ | 値 |
|---|---|
| デフォルト | 86400(24 時間) |
| 単位 | 秒 |
| 動的 | いいえ |
前回のベースコンパクションからの経過時間です。これはベースコンパクションをトリガーする条件の 1 つです。
base_compaction_num_cumulative_deltas
| プロパティ | 値 |
|---|---|
| デフォルト | 5 |
| 動的 | いいえ |
ベースコンパクションがトリガーされるまでの累積ファイルの最大数です。これはベースコンパクションのトリガー条件の 1 つです。
base_compaction_write_mbytes_per_sec
| プロパティ | 値 |
|---|---|
| デフォルト | 5 |
| 単位 | MB/s |
| 動的 | いいえ |
単一のベースコンパクションタスクにおける最大ディスク書き込み速度です。
base_cumulative_delta_ratio
| プロパティ | 値 |
|---|---|
| デフォルト | 0.3 |
| 動的 | いいえ |
累積ファイルサイズとベースファイルサイズの比率です。このしきい値に達すると、ベースコンパクションがトリガーされます。これはベースコンパクションのトリガー条件の 1 つです。
base_compaction_trace_threshold
| プロパティ | 値 |
|---|---|
| デフォルト | 10 |
| 型 | int32 |
| 単位 | 秒 |
| 動的 | いいえ |
ベースコンパクションのトレース情報をログ出力する際の時間しきい値です。ベースコンパクションタスクの実行時間がこの値を超えると、トレース情報がログに出力されます。高負荷環境では、ログ量を減らすためにこの値を大きく設定できます。
トレースログのエントリ例は以下の通りです。
W0610 11:26:33.804431 56452 storage_engine.cpp:552] Trace:
0610 11:23:03.727535 (+ 0us) storage_engine.cpp:554] start to perform base compaction
0610 11:23:03.728961 (+ 1426us) storage_engine.cpp:560] found best tablet 546859
0610 11:23:03.728963 (+ 2us) base_compaction.cpp:40] got base compaction lock
0610 11:23:03.729029 (+ 66us) base_compaction.cpp:44] rowsets picked
0610 11:24:51.784439 (+108055410us) compaction.cpp:46] got concurrency lock and start to do compaction
0610 11:24:51.784818 (+ 379us) compaction.cpp:74] prepare finished
0610 11:26:33.359265 (+101574447us) compaction.cpp:87] merge rowsets finished
0610 11:26:33.484481 (+125216us) compaction.cpp:102] output rowset built
0610 11:26:33.484482 (+ 1us) compaction.cpp:106] check correctness finished
0610 11:26:33.513197 (+ 28715us) compaction.cpp:110] modify rowsets finished
0610 11:26:33.513300 (+ 103us) base_compaction.cpp:49] compaction finished
0610 11:26:33.513441 (+ 141us) base_compaction.cpp:56] unused rowsets have been moved to GC queue
Metrics: {"filtered_rows":0,"input_row_num":3346807,"input_rowsets_count":42,"input_rowsets_data_size":1256413170,"input_segments_num":44,"merge_rowsets_latency_us":101574444,"merged_rows":0,"output_row_num":3346807,"output_rowset_data_size":1228439659,"output_segments_num":6}disable_auto_compaction
| プロパティ | 値 |
|---|---|
| デフォルト | false |
| 型 | ブール値 |
| 動的 | いいえ |
自動コンパクションを無効にするかどうかを指定します。デバッグまたはテスト環境で手動でコンパクションをトリガーしたい場合にのみ無効化してください。
disable_compaction_trace_log
| プロパティ | 値 |
|---|---|
| デフォルト | true |
| 型 | ブール値 |
| 動的 | いいえ |
コンパクションのトレースログ出力を無効にするかどうかを指定します。true に設定すると、cumulative_compaction_trace_threshold および base_compaction_trace_threshold の設定は無効になります。
check_auto_compaction_interval_seconds
| プロパティ | 値 |
|---|---|
| デフォルト | 5 |
| 型 | int32 |
| 単位 | 秒 |
| 動的 | いいえ |
BE が自動コンパクションが無効化されているかをチェックする間隔です。disable_auto_compaction が true の場合にのみ有効です。
cumulative_compaction_budgeted_bytes
| プロパティ | 値 |
|---|---|
| デフォルト | 104857600(100 MB) |
| 動的 | いいえ |
シングルトンファイルの最大サイズです。これはベースコンパクションをトリガーする条件の 1 つです。
cumulative_compaction_trace_threshold
| プロパティ | 値 |
|---|---|
| デフォルト | 2 |
| 型 | int32 |
| 単位 | 秒 |
| 動的 | いいえ |
累積コンパクションのトレース情報をログ出力する際の時間しきい値です。disable_compaction_trace_log が true の場合は無効です。
cumulative_compaction_rounds_for_each_base_compaction_round
| プロパティ | 値 |
|---|---|
| デフォルト | 9 |
| 型 | int32 |
| 動的 | いいえ |
各ベースコンパクションラウンドの実行前に実行される累積コンパクションラウンドの数です。
cumulative_compaction_policy
| プロパティ | 値 |
|---|---|
| デフォルト | size_based |
| 型 | 文字列 |
| 動的 | いいえ |
累積コンパクションのマージポリシーです。有効な値は以下の通りです。
ordinary— 初期のポリシーです。累積コンパクション後、ロウセットは直ちにベースコンパクションステージに入ります。size_based— 最適化されたポリシーです。ロウセットは、ディスクサイズが同じオーダーである場合にのみマージされます。ロウセットは、昇格しきい値を満たした場合にのみベースコンパクションへ昇格されます。多数の小規模バッチインポートによる書き込み増幅を低減します。
cumulative_size_based_promotion_size_mbytes
| プロパティ | 値 |
|---|---|
| デフォルト | 1024 |
| 型 | int64 |
| 単位 | MB |
| 動的 | いいえ |
cumulative_compaction_policy が size_based の場合、累積コンパクションの出力ロウセットの合計ディスクサイズがこのしきい値を超えると、ベースコンパクションへ昇格されます。長時間実行される累積コンパクションによってバージョンの遅延が発生しないよう、この値は 2048 MB 未満に保ってください。
cumulative_size_based_promotion_ratio
| プロパティ | 値 |
|---|---|
| デフォルト | 0.05 |
| 型 | Double |
| 動的 | いいえ |
cumulative_compaction_policy が size_based の場合、累積コンパクションの出力ロウセットの合計ディスクサイズがベースロウセットサイズのこの割合を超えると、ベースコンパクションへ昇格されます。ほとんどのデプロイメントでは、0.02 ~ 0.1 の範囲の値が適切です。
cumulative_size_based_promotion_min_size_mbytes
| プロパティ | 値 |
|---|---|
| デフォルト | 64 |
| 型 | int32 |
| 単位 | MB |
| 動的 | いいえ |
cumulative_compaction_policy が size_based の場合、このしきい値より小さい累積コンパクションの出力ロウセットは累積コンパクションステージに留まり、ベースコンパクションへ昇格されません。512 MB を超える値を設定すると、ベースコンパクションが実行されなくなる可能性があります。
cumulative_size_based_compaction_lower_size_mbytes
| プロパティ | 値 |
|---|---|
| デフォルト | 64 |
| 型 | int64 |
| 単位 | MB |
| 動的 | いいえ |
cumulative_compaction_policy が size_based の場合、このしきい値より大きいロウセットはレベルポリシーで分割・マージされ、それより小さいロウセットは直接マージされます。128 MB を超える値を設定すると、累積コンパクション中に過度な書き込み増幅が発生する可能性があります。
compaction_tablet_compaction_score_factor
| プロパティ | 値 |
|---|---|
| デフォルト | 1 |
| 型 | int32 |
| 動的 | いいえ |
コンパクション対象のタブレットを選択する際に使用されるタブレットスコアリング式におけるコンパクションスコアの重みです。
tablet_score = compaction_tablet_scan_frequency_factor × tablet_scan_frequency
+ compaction_tablet_compaction_score_factor × compaction_scorecompaction_tablet_scan_frequency_factor
| プロパティ | 値 |
|---|---|
| デフォルト | 0 |
| 型 | int32 |
| 動的 | いいえ |
タブレットスコアリング式におけるスキャン頻度の重みです。この値を増加させると、頻繁にスキャンされるタブレットのコンパクションが優先されます。
compaction_task_num_per_disk
| プロパティ | 値 |
|---|---|
| デフォルト | 2 |
| 型 | int32 |
| 動的 | いいえ |
ハードディスクドライブ (HDD) あたり並列実行されるコンパクションタスク数です。
compaction_task_num_per_fast_disk
| プロパティ | 値 |
|---|---|
| デフォルト | 4 |
| 型 | int32 |
| 動的 | いいえ |
ソリッドステートドライブ (SSD) あたり並列実行されるコンパクションタスク数です。
max_base_compaction_threads
| プロパティ | 値 |
|---|---|
| デフォルト | 4 |
| 型 | int32 |
| 動的 | いいえ |
ベースコンパクションスレッドプールにおける最大スレッド数です。
max_cumu_compaction_threads
| プロパティ | 値 |
|---|---|
| デフォルト | 10 |
| 型 | int32 |
| 動的 | いいえ |
累積コンパクションスレッドプールにおける最大スレッド数です。
min_compaction_threads
| プロパティ | 値 |
|---|---|
| デフォルト | 10 |
| 型 | int32 |
| 動的 | いいえ |
コンパクションスレッドプールにおける最小スレッド数です。
min_compaction_failure_interval_sec
| プロパティ | 値 |
|---|---|
| デフォルト | 5 |
| 型 | int32 |
| 単位 | 秒 |
| 動的 | いいえ |
累積コンパクション中にタブレットのマージに失敗した場合、そのタブレットが再度選択されるまでに待機する必要がある最短時間です。
total_permits_for_compaction_score
| プロパティ | 値 |
|---|---|
| デフォルト | 10000 |
| 型 | int64 |
| 動的 | はい |
すべてのコンパクションタスクが保持できる許可数の上限です。コンパクションによるメモリ消費量を制御します。この値を増加させると、より多くの同時コンパクション処理を許可できます。逆に減少させると、メモリ圧迫を軽減できます。
row_step_for_compaction_merge_log
| プロパティ | 値 |
|---|---|
| デフォルト | 0 |
| 型 | int64 |
| 動的 | はい |
コンパクション中のマージログ出力間のマージ行数です。0 に設定すると、コンパクションマージログが出力されなくなります。
enable_quick_compaction
| プロパティ | 値 |
|---|---|
| デフォルト | false |
| 型 | ブール値 |
| 動的 | いいえ |
クイックコンパクションを有効にするかどうかを指定します。小規模なバッチを頻繁にインポートするワークロードでは、クイックコンパクションによりインポートされたバージョンを迅速にマージすることで、-235 エラーを防止できます。「小規模」は行数で判定され、quick_compaction_max_rows で制御されます。
quick_compaction_max_rows
| プロパティ | 値 |
|---|---|
| デフォルト | 1000 |
| 型 | int32 |
| 動的 | いいえ |
クイックコンパクションの対象となる「小規模」と見なされるインポートの最大行数です。enable_quick_compaction が true である必要があります。
quick_compaction_batch_size
| プロパティ | 値 |
|---|---|
| デフォルト | 10 |
| 型 | int32 |
| 動的 | いいえ |
クイックコンパクションラウンドをトリガーする小規模インポートの数です。
quick_compaction_min_rowsets
| プロパティ | 値 |
|---|---|
| デフォルト | 10 |
| 型 | int32 |
| 動的 | いいえ |
クイックコンパクションを実際に実行するために選択される必要のあるロウセットの最小数です。
クエリおよびスキャン
doris_max_scan_key_num
| プロパティ | 値 |
|---|---|
| デフォルト | 1024 |
| 型 | int |
| 動的 | いいえ |
スキャンノードがクエリ条件から生成できるスキャンキーレンジの最大数です。この値を増加させるとスキャンの並列性が向上しますが、スケジューリングオーバーヘッドが増加し、高並列環境ではクエリが遅くなる可能性があります。実証的な初期値は 50 です。高並列デプロイメントでは、並列性の向上が効果を発揮しない場合、この値を減らしてください。
doris_scan_range_row_count
| プロパティ | 値 |
|---|---|
| デフォルト | 524288 |
| 型 | int32 |
| 動的 | いいえ |
BE がスキャンレンジを複数の ScanRange に分割する際の、各 ScanRange あたりの行数です。これは、単一の OlapScanner が I/O スレッドを保持する時間を制御します。
doris_scanner_queue_size
| プロパティ | 値 |
|---|---|
| デフォルト | 1024 |
| 型 | int32 |
| 動的 | いいえ |
TransferThread と OlapScanner の間の RowBatch バッファーキューの長さです。Doris は非同期でデータをスキャンします。OlapScanner からスキャンされた RowBatch は、TransferThread が取得するまでこのキュー内で待機します。
doris_scanner_row_num
| プロパティ | 値 |
|---|---|
| デフォルト | 16384 |
| 動的 | いいえ |
各スキャンスレッドが 1 回の実行で返す最大行数です。
doris_scanner_thread_pool_queue_size
| プロパティ | 値 |
|---|---|
| デフォルト | 102400 |
| 型 | int32 |
| 動的 | いいえ |
スキャナースレッドプールのキュー長です。送信されたタスクがこの長さを超えると、空きスロットができるまで新しい送信がブロックされます。
doris_scanner_thread_pool_thread_num
| プロパティ | 値 |
|---|---|
| デフォルト | 48 |
| 型 | int32 |
| 動的 | いいえ |
スキャナースレッドプール内のスレッド数です。スキャンの並列度を決定します。より多くの同時スキャンを処理するにはこの値を増加させます。ただし、あまりにも大きな値にするとスケジューリングオーバーヘッドが増加します。
doris_scan_range_max_mb
| プロパティ | 値 |
|---|---|
| デフォルト | 1024 |
| 型 | int32 |
| 単位 | MB |
| 動的 | いいえ |
各 OlapScanner が 1 回のスキャンで読み取る最大データ量です。
doris_max_pushdown_conjuncts_return_rate
| プロパティ | 値 |
|---|---|
| デフォルト | 90 |
| 型 | int32 |
| 動的 | いいえ |
ハッシュ結合中、BE は動的パーティションプルーニングを使用して結合条件を OlapScanner にプッシュダウンします。32768 行のスキャン後にフィルターレートをチェックします。このしきい値(パーセンテージ)を下回った場合、BE は動的パーティションクリッピング条件によるフィルタリングを停止します。
max_pushdown_conditions_per_column
| プロパティ | 値 |
|---|---|
| デフォルト | 1024 |
| 型 | int |
| 動的 | いいえ |
単一の列に対してストレージエンジンにプッシュダウン可能なフィルター条件の最大数です。主に IN 述語(WHERE colA IN (v1, v2, v3, ...))に適用されます。この値を増加させると、より多くの IN 述語条件がストレージエンジンのインデックスに到達し、スキャンされるデータ量を削減できる可能性があります。ただし、条件が多すぎるとランダム読み取りが増加します。この項目はセッションレベルでも設定可能です。
fragment_pool_queue_size
| プロパティ | 値 |
|---|---|
| デフォルト | 2048 |
| 動的 | いいえ |
単一ノードにおける同時クエリ要求の最大数です。
fragment_pool_thread_num_min
| プロパティ | 値 |
|---|---|
| デフォルト | 64 |
| 動的 | いいえ |
フラグメント実行スレッドプールにおける最小スレッド数です。
fragment_pool_thread_num_max
| プロパティ | 値 |
|---|---|
| デフォルト | 256 |
| 動的 | いいえ |
フラグメント実行スレッドプールにおける最大スレッド数です。プールは fragment_pool_thread_num_min 個のスレッドから開始し、この上限まで動的に増加します。
enable_partitioned_aggregation
| プロパティ | 値 |
|---|---|
| デフォルト | true |
| 型 | ブール値 |
| 動的 | いいえ |
BE が集約処理に PartitionAggregateNode を使用するかどうかを指定します。false の場合、代わりに AggregateNode が使用されます。特に指示がない限り、デフォルト値を維持してください。
enable_prefetch
| プロパティ | 値 |
|---|---|
| デフォルト | true |
| 型 | ブール値 |
| 動的 | いいえ |
集約および結合操作で PartitionedHashTable を使用する際に、HashBuckets をプリフェッチするかどうかを指定します。パフォーマンス向上のため、true を維持してください。
enable_quadratic_probing
| プロパティ | 値 |
|---|---|
| デフォルト | true |
| 型 | ブール値 |
| 動的 | いいえ |
PartitionedHashTable におけるハッシュ衝突の解決に 2次プロービングを使用するかどうか。false の場合、線形プロービングが使用されます。詳細については、「2次プロービング」をご参照ください。
result_buffer_cancelled_interval_time
| プロパティ | 値 |
|---|---|
| デフォルト | 300 |
| 単位 | 秒 |
| 動的 | いいえ |
キャンセル後に結果バッファーが解放される間隔です。
exchg_node_buffer_size_bytes
| プロパティ | 値 |
|---|---|
| デフォルト | 10485760(10 MB) |
| 型 | int32 |
| 単位 | バイト |
| 動的 | いいえ |
ExchangeNode 内のバッファーキューのサイズです。送信者がバッファーの容量を超えてデータを送信すると、空き領域が確保されるまで後続の送信がブロックされます。
メモリ管理
mem_limit
| プロパティ | 値 |
|---|---|
| デフォルト | 80% |
| 型 | 文字列 |
| 動的 | いいえ |
BE が使用できるサーバーのメモリの最大割合です。これにより、BE がマシン上の他のプロセスのメモリを枯渇させるのを防ぎます。100% を超える値は 100% に制限されます。
buffer_pool_limit
| プロパティ | 値 |
|---|---|
| デフォルト | 20% |
| 型 | 文字列 |
| 動的 | いいえ |
バッファープールが使用できる割り当て可能メモリの最大割合です。バッファープールは、バッファーページおよびディスクへのスプールを使用して、すべての同時クエリのメモリを管理します。現在、AggregationNode および ExchangeNode に適用されます。
buffer_pool_clean_pages_limit
| プロパティ | 値 |
|---|---|
| デフォルト | 20 |
| 動的 | いいえ |
バッファープールが保持するクリーンページの最大数です。
chunk_reserved_bytes_limit
| プロパティ | 値 |
|---|---|
| デフォルト | 20% |
| 型 | int32 |
| 単位 | バイト |
| 動的 | いいえ |
Chunk アロケーターの予約バイト制限で、mem_limit の割合で表されます。この値は正の 2 の倍数である必要があります。この値が物理メモリを上回る場合、物理メモリのサイズが使用されます。この値を増加させるとパフォーマンスが向上しますが、他のモジュールで利用可能なメモリは減少します。
memory_limitation_per_thread_for_schema_change
| プロパティ | 値 |
|---|---|
| デフォルト | 2 |
| 単位 | GB |
| 動的 | いいえ |
単一のスキーマ変更タスクが使用できる最大メモリ量です。
memory_maintenance_sleep_time_s
| プロパティ | 値 |
|---|---|
| デフォルト | 10 |
| 単位 | 秒 |
| 動的 | いいえ |
メモリメンテナンス反復処理間のスリープ間隔です。
memory_max_alignment
| プロパティ | 値 |
|---|---|
| デフォルト | 16 |
| 動的 | いいえ |
最大メモリ配置サイズです。
disable_mem_pools
| プロパティ | 値 |
|---|---|
| デフォルト | false |
| 動的 | いいえ |
メモリキャッシュプールを無効にするかどうかを指定します。
madvise_huge_pages
| プロパティ | 値 |
|---|---|
| デフォルト | false |
| 動的 | いいえ |
Linux のヒュージページを使用してメモリを割り当てるかどうかを指定します。
mmap_buffers
| プロパティ | 値 |
|---|---|
| デフォルト | false |
| 動的 | いいえ |
メモリ割り当てに mmap を使用するかどうかを指定します。
use_mmap_allocate_chunk
| プロパティ | 値 |
|---|---|
| デフォルト | false |
| 動的 | いいえ |
チャンクの割り当てに mmap を使用するかどうかを指定します。有効にした場合、メモリマップの不足を回避するために vm.max_map_count(デフォルト:65530)を増加させる必要があります。以下のコマンドを root で実行してください。
sysctl -w vm.max_map_count=262144
# または
echo 262144 > /proc/sys/vm/max_map_countまた、パフォーマンスを維持するために chunk_reserved_bytes_limit を大きな値に設定してください。
load_process_max_memory_limit_bytes
| プロパティ | 値 |
|---|---|
| デフォルト | 107374182400(100 GB) |
| 動的 | いいえ |
単一ノード上のすべてのインポートスレッドが使用できる最大メモリ量です。Doris のアップグレード中にロードパフォーマンスを維持するために、この値を大きな値に設定してください。
load_process_max_memory_limit_percent
| プロパティ | 値 |
|---|---|
| デフォルト | 80 |
| 動的 | いいえ |
単一ノード上のすべてのインポートスレッドが使用できるサーバーのメモリの最大割合です。Doris のアップグレード中にロードパフォーマンスを維持するために、この値を大きな値に設定してください。
tc_free_memory_rate
| プロパティ | 値 |
|---|---|
| デフォルト | 20 |
| 動的 | いいえ |
使用可能なメモリの割合です。有効な値は 0 ~ 100 です。
tc_max_total_thread_cache_bytes
| プロパティ | 値 |
|---|---|
| デフォルト | 1073741824(1 GB) |
| 型 | int64 |
| 動的 | いいえ |
TCMalloc における合計スレッドキャッシュサイズです。この制限は厳密に適用されず、実際の使用量がこれを上回ることがあります。多くのスレッドが TCMalloc ロックを競合する(SpinLock 関連のスタックフレームで確認可能)高負荷シナリオでは、この値を増加させることで競合を軽減できます。詳細については、「TCMalloc: Thread-Caching Malloc」をご参照ください。
tc_use_memory_min
| プロパティ | 値 |
|---|---|
| デフォルト | 10737418240(10 GB) |
| 動的 | いいえ |
TCMalloc が保持する最小メモリ量です。TCMalloc は、総使用量がこのしきい値を下回っている場合、メモリを OS に返しません。
enable_tcmalloc_hook
| プロパティ | 値 |
|---|---|
| デフォルト | true |
| 型 | ブール値 |
| 動的 | いいえ |
スレッドローカルの MemTracker 統計を追跡するために使用される TCMalloc フックを有効にするかどうかを指定します。
mem_tracker_consume_min_size_bytes
| プロパティ | 値 |
|---|---|
| デフォルト | 1048576(1 MB) |
| 型 | int32 |
| 単位 | バイト |
| 動的 | いいえ |
MemTracker を更新する前の TCMalloc フック操作の最小サイズです。小さな割り当ては、MemTracker の呼び出し頻度を避けるために累積されます。この値を小さくすると MemTracker の精度が向上しますが、呼び出し頻度が増加します。逆に大きくすると呼び出し頻度が減少しますが、不正確さが生じます。理論上の最大誤差は mem_tracker_consume_min_size_bytes × BE スレッド数 です。
max_free_io_buffers
| プロパティ | 値 |
|---|---|
| デフォルト | 128 |
| 動的 | いいえ |
IoMgr が予約する I/O バッファーの最大数です。各バッファーは 1024 バイトから 8 MB の間であり、予約されたすべてのバッファーの合計サイズは最大 2 GB に達します。
read_size
| プロパティ | 値 |
|---|---|
| デフォルト | 8388608(8 MB) |
| 動的 | いいえ |
OS に送信される I/O 操作ごとのデータ読み取りサイズです。8 MB の場合、ランダム I/O とシーケンシャル I/O のパフォーマンスはほぼ同等となり、レイテンシーとディスク使用率のバランスが取れます。
min_buffer_size
| プロパティ | 値 |
|---|---|
| デフォルト | 1024 |
| 単位 | バイト |
| 動的 | いいえ |
最小読み取りバッファーサイズです。
ストレージ
storage_root_path
| プロパティ | 値 |
|---|---|
| デフォルト | ${DORIS_HOME} |
| 型 | 文字列 |
| 動的 | いいえ |
BE がデータを格納するディレクトリです。複数のディレクトリをセミコロン (;) で区切ります。各ディレクトリについて、記憶媒体および容量制限を任意で指定できます。
サポートされる構文スタイルは 2 つあります。
スタイル 1 — 接尾辞表記:
storage_root_path=/home/disk1/doris.HDD;/home/disk2/doris.SSD;/home/disk3/doris.HDD— ハードディスクドライブ (HDD).SSD— ソリッドステートドライブ (SSD)接尾辞なし — HDD として扱われる
スタイル 2 — キー・バリュー表記:
storage_root_path=/home/disk1/doris,medium:hdd;/home/disk2/doris,medium:ssdすべてのディスクが同一タイプの場合、接尾辞を付けずにディレクトリを指定し、フロントエンドノードの構成でデフォルトの記憶媒体設定を更新してください。
default_rowset_type
| プロパティ | 値 |
|---|---|
| デフォルト | BETA |
| 型 | 文字列 |
| 動的 | いいえ |
この BE のデフォルトストレージ形式です。有効な値は ALPHA、BETA です。この設定は以下の 2 つのケースで適用されます。
テーブルの
storage_formatパラメーターがDefaultに設定されている場合。BE がコンパクションを実行する場合。
disable_storage_page_cache
| プロパティ | 値 |
|---|---|
| デフォルト | false |
| 型 | ブール値 |
| 動的 | いいえ |
インデックスキャッシュ用のページキャッシュを無効にするかどうかを指定します。default_rowset_type が BETA の場合にのみ有効です。
storage_page_cache_limit
| プロパティ | 値 |
|---|---|
| デフォルト | 20% |
| 動的 | いいえ |
ストレージページキャッシュの最大サイズです。
storage_page_cache_shard_size
| プロパティ | 値 |
|---|---|
| デフォルト | 16 |
| 動的 | いいえ |
StoragePageCache のシャードサイズです。有効な値は 2^n(n = 0, 1, 2, …)です。BE の CPU コア数に近い値を設定すると、StoragePageCache 内のロック競合を軽減できます。
index_page_cache_percentage
| プロパティ | 値 |
|---|---|
| デフォルト | 10 |
| 型 | int32 |
| 動的 | いいえ |
インデックスページに割り当てる全ページキャッシュの割合です。有効な値は 0 ~ 100 です。
index_stream_cache_capacity
| プロパティ | 値 |
|---|---|
| デフォルト | 10737418240(10 GB) |
| 動的 | いいえ |
Bloom フィルター、Min、Max 情報など、インデックス統計のキャッシュ容量です。
storage_flood_stage_usage_percent
| プロパティ | 値 |
|---|---|
| デフォルト | 95 |
| 動的 | いいえ |
データディレクトリが使用できる最大ディスク領域の割合です。このしきい値と storage_flood_stage_left_capacity_bytes の両方が達成された場合、そのディレクトリへの書き込みは拒否されます。
storage_flood_stage_left_capacity_bytes
| プロパティ | 値 |
|---|---|
| デフォルト | 1073741824(1 GB) |
| 動的 | いいえ |
データディレクトリが確保しなければならない最小空き領域です。storage_flood_stage_usage_percent と組み合わせて、ディスク書き込み制限を強制します。
segment_cache_capacity
| プロパティ | 値 |
|---|---|
| デフォルト | 1000000 |
| 型 | int32 |
| 動的 | いいえ |
Segment キャッシュ内のセグメントの最大数です。この値を増加させると、より多くのセグメントがキャッシュされ、I/O が削減されます。逆に減少させると、メモリが解放されます。実際のアクセスパターンに応じて調整してください。
remote_storage_read_buffer_mb
| プロパティ | 値 |
|---|---|
| デフォルト | 16 |
| 型 | int32 |
| 単位 | MB |
| 動的 | いいえ |
Hadoop 分散ファイルシステム (HDFS) または Object Storage Service (OSS) からファイルを読み取る際のキャッシュサイズです。この値を増加させると、リモート読み取り呼び出しが減少しますが、メモリ使用量が増加します。
sync_tablet_meta
| プロパティ | 値 |
|---|---|
| デフォルト | false |
| 動的 | いいえ |
ストレージエンジンが、各書き込み後にタブレットメタデータをディスクにフラッシュするために sync を呼び出すかどうかを指定します。
storage_strict_check_incompatible_old_format
| プロパティ | 値 |
|---|---|
| デフォルト | true |
| 型 | ブール値 |
| 動的 | いいえ(非対応) |
互換性のない旧バージョンのフォーマットでデータを読み取る際に、厳密な検証を行うかどうかを指定します。true の場合、互換性のないフォーマットに遭遇すると、BE は致命的なログエントリとともに終了します。false の場合、警告ログが出力され、BE は継続して実行されます。
pending_data_expire_time_sec
| プロパティ | 値 |
|---|---|
| デフォルト | 1800(30 分) |
| 単位 | 秒 |
| 動的 | いいえ |
ストレージエンジンが未検証(保留中)のデータを保持する最大時間です。
write_buffer_size
| プロパティ | 値 |
|---|---|
| デフォルト | 104857600(100 MB) |
| 動的 | いいえ |
データインポート中に、ディスクにフラッシュされるまでのインメモリ書き込みバッファーのサイズです。この値が小さすぎると、BE 上に多数の小さなファイルが生成されます。大きすぎると RPC タイムアウトが発生する可能性があります。この値を増加させる場合は、tablet_writer_open_rpc_timeout_sec も併せて増加させてください。
max_segment_num_per_rowset
| プロパティ | 値 |
|---|---|
| デフォルト | 200 |
| 型 | int32 |
| 動的 | いいえ |
データインポート中に新しく生成されるロウセット内のセグメントの最大数です。この値を超えると、インポートは -238 エラーで失敗します。ロウセット内のセグメント数が多すぎると、コンパクション中のメモリ使用量が増加し、メモリ不足 (OOM) エラーが発生する可能性があります。
string_type_length_soft_limit_bytes
| プロパティ | 値 |
|---|---|
| デフォルト | 1048576(1 MB) |
| 型 | int32 |
| 単位 | バイト |
| 動的 | いいえ |
文字列データのソフト最大長です。この制限は厳密には適用されません。
default_num_rows_per_column_file_block
| プロパティ | 値 |
|---|---|
| デフォルト | 1024 |
| 型 | int32 |
| 動的 | いいえ |
RowBlock あたりの行数です。
zone_map_row_num_threshold
| プロパティ | 値 |
|---|---|
| デフォルト | 20 |
| 型 | int32 |
| 動的 | いいえ |
このしきい値より少ない行数を持つページではゾーンマップの作成をスキップし、データ拡張を削減します。
column_dictionary_key_ratio_threshold
| プロパティ | 値 |
|---|---|
| デフォルト | 0 |
| 動的 | いいえ |
辞書圧縮のための文字列値の比率しきい値です。異なる文字列値の比率がこのしきい値を下回ると、辞書圧縮が適用されます。
column_dictionary_key_size_threshold
| プロパティ | 値 |
|---|---|
| デフォルト | 0 |
| 動的 | いいえ |
辞書圧縮のためのカラムサイズしきい値です。カラムサイズがこのしきい値を下回ると、辞書圧縮が適用されます。
タブレット管理
tablet_map_shard_size
| プロパティ | 値 |
|---|---|
| デフォルト | 1 |
| 動的 | いいえ |
タブレットマップロックのシャードサイズです。有効な値は 2^n(n = 0, 1, 2, 3, 4)です。多数のタブレットを管理する際にロック競合を軽減するには、この値を増加させます。
tablet_meta_checkpoint_min_interval_secs
| プロパティ | 値 |
|---|---|
| デフォルト | 600 |
| 単位 | 秒 |
| 動的 | いいえ |
TabletMeta チェックポイントスレッドのポーリング間隔です。
tablet_meta_checkpoint_min_new_rowsets_num
| プロパティ | 値 |
|---|---|
| デフォルト | 10 |
| 動的 | いいえ |
TabletMeta チェックポイントをトリガーするために必要な新規ロウセットの最小数です。
tablet_scan_frequency_time_node_interval_second
| プロパティ | 値 |
|---|---|
| デフォルト | 300 |
| 型 | int64 |
| 単位 | 秒 |
| 動的 | いいえ |
query_scan_count をサンプリングしてタブレットのスキャン頻度を算出する間隔です。compaction_tablet_scan_frequency_factor と併用されます。
tablet_stat_cache_update_interval_second
| プロパティ | 値 |
|---|---|
| デフォルト | 300 |
| 単位 | 秒 |
| 動的 | いいえ |
タブレット状態キャッシュを更新する間隔です。
tablet_rowset_stale_sweep_time_sec
| プロパティ | 値 |
|---|---|
| デフォルト | 1800(30 分) |
| 型 | int64 |
| 単位 | 秒 |
| 動的 | いいえ |
マージ済みロウセットバージョンの有効期限です。マージ済みバージョンディレクトリ内での最新ロウセット作成時刻からこの値を経過した場合、そのディレクトリはクリーンアップされ、マージ済みロウセットは削除されます。ディスク領域が逼迫している場合は、この値を小さく設定してください。5 分(300 秒)未満に設定すると、フロントエンドによるマージ済みバージョンへのクエリが -230 エラーで失敗する可能性があります。
max_tablet_version_num
| プロパティ | 値 |
|---|---|
| デフォルト | 500 |
| 型 | int |
| 動的 | いいえ |
タブレットあたりの最大バージョン数です。頻繁なインポートや遅延したコンパクションによるバージョン蓄積を防止します。この上限に達すると、インポートタスクは拒否されます。
max_tablet_num_per_shard
| プロパティ | 値 |
|---|---|
| デフォルト | 1024 |
| 動的 | いいえ |
シャードディレクトリあたりの最大タブレット数です。タブレットディレクトリのレイアウトを制御し、単一のディレクトリに過剰なサブディレクトリが含まれるのを防ぎます。
check_consistency_worker_count
| プロパティ | 値 |
|---|---|
| デフォルト | 1 |
| 動的 | いいえ |
タブレットのチェックサムを計算するワーカースレッド数です。
create_tablet_worker_count
| プロパティ | 値 |
|---|---|
| デフォルト | 3 |
| 動的 | いいえ |
タブレットを作成するワーカースレッド数です。
drop_tablet_worker_count
| プロパティ | 値 |
|---|---|
| デフォルト | 3 |
| 動的 | いいえ |
タブレットを削除するスレッド数です。
number_tablet_writer_threads
| プロパティ | 値 |
|---|---|
| デフォルト | 16 |
| 動的 | いいえ |
タブレットへの書き込みに使用するスレッド数です。
tablet_writer_open_rpc_timeout_sec
| プロパティ | 値 |
|---|---|
| デフォルト | 60 |
| 単位 | 秒 |
| 動的 | いいえ |
リモート BE 上のタブレットライターを開く際の RPC タイムアウトです。高速インポート中にバッチ(1024 行)を送信する場合にもこのタイムアウトが適用されます。「send batch fail」タイムアウトエラーが発生した場合は、この値を増加させてください。write_buffer_size を増加させる場合、このタイムアウトも同様に増加させてください。
tablet_writer_ignore_eovercrowded
| プロパティ | 値 |
|---|---|
| デフォルト | false |
| 型 | ブール値 |
| 動的 | いいえ |
データ書き込み中に [E1011]The server is overcrowded bRPC エラーを無視するかどうかを指定します。brpc_socket_max_unwritten_bytes(再起動が必要)を即座に調整できない場合の暫定的な回避策として使用します。この設定は書き込み中のエラー抑制のみに有効であり、他の RPC 要求では依然として過密状態のチェックが適用されます。
ignore_broken_disk
| プロパティ | 値 |
|---|---|
| デフォルト | false |
| 動的 | いいえ |
storage_root_path で指定されたディレクトリが起動時に存在しない、またはアクセス不能であった場合の動作です。
true— 対象ディレクトリはスキップされます。他のディレクトリが利用可能な場合、BE は通常通り起動します。false— BE は停止します。
ignore_load_tablet_failure
| プロパティ | 値 |
|---|---|
| デフォルト | false |
| 型 | ブール値 |
| 動的 | いいえ |
起動時にタブレットヘッダーメタデータの読み込み失敗を無視するかどうかを指定します。デフォルトでは、ストレージディレクトリ内のいずれかのタブレットの読み込みに失敗した場合、BE は以下のログを出力して停止します。
load tablets from header failed, failed tablets size: xxx, path=xxx再起動せずにこの失敗を解決するには、以下のいずれかの方法を実施してください。
正常なレプリカが存在する場合、
meta_toolを使用して、読み込めないメタデータを持つタブレットを削除します。この項目を
trueに設定して、失敗したタブレットをスキップし、BE を起動します。
ignore_rowset_stale_unconsistent_delete
| プロパティ | 値 |
|---|---|
| デフォルト | false |
| 型 | ブール値 |
| 動的 | いいえ |
整合性のあるバージョンパスを形成できない古いマージ済みロウセットを削除するかどうかを指定します。古いロウセットは通常 30 分後に削除されます。false の場合、整合性の不一致を報告した後に BE は終了します。true の場合、BE はエラーをログ出力した上で継続して実行します。このエラーを無視しても通常クエリには影響しませんが、フロントエンドノードからマージ済みバージョンが公開された際に -230 エラーが発生する可能性があります。
inc_rowset_expired_sec
| プロパティ | 値 |
|---|---|
| デフォルト | 1800(30 分) |
| 単位 | 秒 |
| 動的 | いいえ |
増分クローン中、ストレージエンジン内でアクティブな増分ロウセットが保持される期間です。
path_gc_check
| プロパティ | 値 |
|---|---|
| デフォルト | true |
| 動的 | いいえ |
リサイクルスキャンデータスレッドチェックを有効にするかどうかを指定します。
path_gc_check_interval_second
| プロパティ | 値 |
|---|---|
| デフォルト | 86400 (24 時間) |
| 単位 | 秒 |
| 動的 | いいえ |
リサイクルスキャンデータスレッドチェックの間隔です。
path_gc_check_step
| プロパティ | 値 |
|---|---|
| デフォルト | 1000 |
| 動的 | いいえ |
1 回のガーベジコレクションチェック反復処理におけるステップサイズです。
path_gc_check_step_interval_ms
| プロパティ | 値 |
|---|---|
| デフォルト | 10 |
| 単位 | ミリ秒 |
| 動的 | いいえ |
単一のガーベジコレクションチェック内のステップ間の間隔です。
path_scan_interval_second
| プロパティ | 値 |
|---|---|
| デフォルト | 86400(24 時間) |
| 単位 | 秒 |
| 動的 | いいえ |
ガーベジコレクションチェックの前に実行されるパススキャンの間隔です。
max_garbage_sweep_interval
| プロパティ | 値 |
|---|---|
| デフォルト | 3600(1 時間) |
| 単位 | 秒 |
| 動的 | いいえ |
ディスクガーベジコレクションスイープ間の最大間隔です。
min_garbage_sweep_interval
| プロパティ | 値 |
|---|---|
| デフォルト | 180 |
| 単位 | 秒 |
| 動的 | いいえ |
ディスクガーベジコレクションスイープ間の最小間隔です。
unused_rowset_monitor_interval
| プロパティ | 値 |
|---|---|
| デフォルト | 30 |
| 単位 | 秒 |
| 動的 | いいえ |
期限切れロウセットをスキャンおよびクリーンアップする間隔です。
trash_file_expire_time_sec
| プロパティ | 値 |
|---|---|
| デフォルト | 259200(3 日間) |
| 単位 | 秒 |
| 動的 | いいえ |
ゴミ箱をクリーンアップする間隔です。ディスク領域が極端に逼迫している場合、この制限は適用されないことがあります。
snapshot_expire_time_sec
| プロパティ | 値 |
|---|---|
| デフォルト | 172800(48 時間) |
| 単位 | 秒 |
| 動的 | いいえ |
スナップショットをクリーンアップする間隔です。
データインポート
push_write_mbytes_per_sec
| プロパティ | 値 |
|---|---|
| デフォルト | 10 |
| 型 | int32 |
| 単位 | MB/s |
| 動的 | いいえ |
最大インポート速度です。すべてのインポート方法に適用されます。
streaming_load_max_mb
| プロパティ | 値 |
|---|---|
| デフォルト | 10240(10 GB) |
| 型 | int64 |
| 単位 | MB |
| 動的 | はい |
単一の Stream Load で許容される CSV データの最大サイズです。Stream Load は数 GB のデータに適しており、非常に大規模なデータセットには設計されていません。
streaming_load_json_max_mb
| プロパティ | 値 |
|---|---|
| デフォルト | 100 |
| 型 | int64 |
| 単位 | MB |
| 動的 | はい |
単一の Stream Load で許容される JSON データの最大サイズです。JSON データは分割できないため、解析前にすべてのデータをメモリに読み込む必要があります。
streaming_load_rpc_max_alive_time_sec
| プロパティ | 値 |
|---|---|
| デフォルト | 1200(20 分間) |
| 単位 | 秒 |
| 動的 | いいえ |
TabletsChannel の有効期間です。この期間内にデータを受信しなかったチャネルは削除されます。
max_send_batch_parallelism_per_job
| プロパティ | 値 |
|---|---|
| デフォルト | 5 |
| 型 | int |
| 動的 | いいえ |
OlapTableSink を使用したバッチ処理中のデータ送信の最大並列度です。send_batch_parallelism がより高い値に設定されている場合、この値が優先されます。
send_batch_thread_pool_thread_num
| プロパティ | 値 |
|---|---|
| デフォルト | 256 |
| 型 | int32 |
| 動的 | いいえ |
SendBatch スレッドプール内のスレッド数です。
send_batch_thread_pool_queue_size
| プロパティ | 値 |
|---|---|
| デフォルト | 102400 |
| 型 | int32 |
| 動的 | いいえ |
SendBatch スレッドプールのキュー長です。キューが満杯になると、新しい送信はブロックされます。
high_priority_flush_thread_num_per_store
| プロパティ | 値 |
|---|---|
| デフォルト | 1 |
| 型 | int32 |
| 動的 | いいえ |
各ストレージディレクトリにおいて、HIGH 優先度のインポートタスク専用に確保されるフラッシュスレッド数です。
load_task_high_priority_threshold_second
| プロパティ | 値 |
|---|---|
| デフォルト | 120 |
| 型 | int32 |
| 単位 | 秒 |
| 動的 | いいえ |
タイムアウト時間がこの値より短いインポートタスクは HIGH 優先度と見なされ、別途のフラッシュスレッドプールを使用します。
flush_thread_num_per_store
| プロパティ | 値 |
|---|---|
| デフォルト | 2 |
| 動的 | いいえ |
メモリ上のテーブルをディスクにフラッシュする際の、ストアあたりのスレッド数です。
load_data_reserve_hours
| プロパティ | 値 |
|---|---|
| デフォルト | 4 |
| 単位 | 時間 |
| 動的 | いいえ |
ミニロードデータファイルの保持期間です。この期間を経過すると、ファイルは削除されます。
load_error_log_reserve_hours
| プロパティ | 値 |
|---|---|
| デフォルト | 48 |
| 単位 | 時間 |
| 動的 | いいえ |
ロードエラーログの保持期間です。
min_load_rpc_timeout_ms
| プロパティ | 値 |
|---|---|
| デフォルト | 20 |
| 型 | int32 |
| 単位 | ミリ秒 |
| 動的 | いいえ |
ロードジョブ内の各 RPC 呼び出しにおける最小 RPC タイムアウトです。
compress_rowbatches
| プロパティ | 値 |
|---|---|
| デフォルト | true |
| 型 | ブール値 |
| 動的 | いいえ |
シリアル化時に Snappy 圧縮を使用して RowBatches を圧縮するかどうかを指定します。
serialize_batch
| プロパティ | 値 |
|---|---|
| デフォルト | false |
| 動的 | いいえ |
バックエンドノード間の RPC で RowBatches をシリアル化するかどうかを指定します。
row_nums_check
| プロパティ | 値 |
|---|---|
| デフォルト | true |
| 動的 | いいえ |
BE 操作、CE ノード操作、およびスキーマ変更における行数の検証を行うかどうかを指定します。
etl_thread_pool_queue_size
| プロパティ | 値 |
|---|---|
| デフォルト | 256 |
| 動的 | いいえ |
抽出・変換・書き出し (ETL) スレッドプールのキューサイズです。
push_worker_count_high_priority
| プロパティ | 値 |
|---|---|
| デフォルト | 3 |
| 動的 | いいえ |
HIGH 優先度タスク用のインポートスレッド数です。
push_worker_count_normal_priority
| プロパティ | 値 |
|---|---|
| デフォルト | 3 |
| 動的 | いいえ |
NORMAL 優先度タスク用のインポートスレッド数です。
publish_version_worker_count
| プロパティ | 値 |
|---|---|
| デフォルト | 8 |
| 動的 | いいえ |
新規バージョンを公開するスレッド数です。
clear_transaction_task_worker_count
| プロパティ | 値 |
|---|---|
| デフォルト | 1 |
| 動的 | いいえ |
トランザクションをクリーンアップするスレッド数です。
delete_worker_count
| プロパティ | 値 |
|---|---|
| デフォルト | 3 |
| 動的 | いいえ |
データ削除タスク用のスレッド数です。
max_runnings_transactions_per_txn_map
| プロパティ | 値 |
|---|---|
| デフォルト | 100 |
| 動的 | いいえ |
トランザクションマネージャー内の txn_partition_map あたりの同時実行トランザクションの最大数です。これにより、トランザクションマネージャーが過剰なトランザクションを蓄積することを防ぎます。
Routine Load
routine_load_thread_pool_size
| プロパティ | 値 |
|---|---|
| デフォルト | 10 |
| 動的 | いいえ |
Routine Load タスク用のスレッドプールサイズです。max_concurrent_task_num_per_be(デフォルト:5)より大きくする必要があります。
routine_load_consumer_pool_size
| プロパティ | 値 |
|---|---|
| デフォルト | 10 |
| 型 | int32 |
| 動的 | いいえ |
Routine Load 用のキャッシュ済みデータコンシューマーの数です。
max_consumer_num_per_group
| プロパティ | 値 |
|---|---|
| デフォルト | 3 |
| 動的 | いいえ |
Routine Load で使用されるデータコンシューマーグループあたりの最大コンシューマー数です。
kafka_api_version_request
| プロパティ | 値 |
|---|---|
| デフォルト | true |
| 動的 | いいえ |
Kafka のバージョンが 0.10.0.0 よりも低い場合、false に設定します。
kafka_broker_version_fallback
| プロパティ | 値 |
|---|---|
| デフォルト | 0.10.0 |
| 動的 | いいえ |
kafka_api_version_request が false の場合のフォールバック Kafka ブローカーバージョンです。有効な値は 0.9.0.x、0.8.x.y です。
ネットワークおよび RPC
be_port
| プロパティ | 値 |
|---|---|
| デフォルト | 9060 |
| 型 | int32 |
| 動的 | いいえ |
BE 上の Thrift サーバーのポートです。フロントエンドノードからの要求を受け取ります。
be_service_threads
| プロパティ | 値 |
|---|---|
| デフォルト | 64 |
| 型 | int32 |
| 動的 | いいえ |
BE 上の Thrift サーバーにおける実行スレッド数です。同時に処理できるフロントエンド要求の数を決定します。
heartbeat_service_port
| プロパティ | 値 |
|---|---|
| デフォルト | 9050 |
| 型 | int32 |
| 動的 | いいえ |
BE 上の Thrift ハートビートサービスのポートです。フロントエンドノードからハートビートを受信します。
heartbeat_service_thread_count
| プロパティ | 値 |
|---|---|
| デフォルト | 1 |
| 型 | int32 |
| 動的 | いいえ |
BE 上で実行されるハートビートサービスのスレッド数です。デフォルト値を維持してください。
webserver_port
| プロパティ | 値 |
|---|---|
| デフォルト | 8040 |
| 型 | int32 |
| 動的 | いいえ |
BE 上の HTTP サーバーのポートです。Web UI および /varz エンドポイントで使用されます。
webserver_num_workers
| プロパティ | 値 |
|---|---|
| デフォルト | 48 |
| 動的 | いいえ |
Web サーバー内のワーカースレッド数です。
brpc_port
| プロパティ | 値 |
|---|---|
| デフォルト | 8060 |
| 型 | int32 |
| 動的 | いいえ |
バックエンドノード間の通信に使用される bRPC ポートです。
brpc_num_threads
| プロパティ | 値 |
|---|---|
| デフォルト | -1(CPU コア数と等しい) |
| 動的 | いいえ |
bRPC ワーカースレッドの数です。1 秒あたりのクエリ数 (QPS) を向上させるには、この値を増やします。詳細については、「incubator-brpc ベンチマーク」をご参照ください。
brpc_max_body_size
| プロパティ | 値 |
|---|---|
| デフォルト | (bRPC のデフォルト) |
| 動的 | いいえ |
bRPC メッセージの最大本文サイズです。max_body_size bRPC パラメーターにマップされます。BE のログに body_size is too large というエラーが表示された場合(通常、multi distinct を使用し、GROUP BY がなく、1 TB を超えるデータを対象とするクエリで発生)、この値を増加させてください。
brpc_socket_max_unwritten_bytes
| プロパティ | 値 |
|---|---|
| デフォルト | (bRPC のデフォルト) |
| 動的 | いいえ |
bRPC ソケットあたりの最大未書き込みバイト数です。socket_max_unwritten_bytes bRPC パラメーターにマップされます。クエリが The server is overcrowded エラーで失敗する場合(通常、大きなビットマップ値を送信する際に発生)、この値を増加させてください。注意:この項目は動的に変更できません。tablet_writer_ignore_eovercrowded を一時的な回避策として使用してください。
transfer_large_data_by_brpc
| プロパティ | 値 |
|---|---|
| デフォルト | true |
| 型 | ブール値 |
| 動的 | いいえ |
Tuple/Block データが 1.8 GB を超える場合、protobuf 要求をシリアル化し、HTTP bRPC 添付ファイルとしてデータを送信するかどうかを指定します。protobuf 要求が 2 GB を超えると、Bad request, error_text=[E1003]Fail to compress request エラーが発生します。この設定により、大規模なペイロードを HTTP bRPC 経由でルーティングすることで、そのエラーを防止できます。
auto_refresh_brpc_channel
| プロパティ | 値 |
|---|---|
| デフォルト | false |
| 型 | ブール値 |
| 動的 | いいえ |
接続を取得する際に、ハンドシェイク RPC を使用して bRPC 接続の可用性を確認するかどうかを指定します。接続が利用できない場合、新しい接続が確立されます。
thrift_client_retry_interval_ms
| プロパティ | 値 |
|---|---|
| デフォルト | 1000 |
| 型 | int64 |
| 単位 | ミリ秒 |
| 動的 | いいえ |
フロントエンドノードの Thrift サーバーが過負荷状態(アバランチシナリオ)の場合の BE Thrift クライアントの再試行間隔です。
thrift_connect_timeout_seconds
| プロパティ | 値 |
|---|---|
| デフォルト | 3 |
| 単位 | 秒 |
| 動的 | いいえ |
Thrift クライアントのデフォルト接続タイムアウトです。
thrift_rpc_timeout_ms
| プロパティ | 値 |
|---|---|
| デフォルト | 5000 |
| 単位 | ミリ秒 |
| 動的 | いいえ |
デフォルトの Thrift RPC タイムアウトです。
thrift_server_type_of_fe
| プロパティ | 値 |
|---|---|
| デフォルト | (FE の設定と一致) |
| 型 | 文字列 |
| 動的 | いいえ |
フロントエンドノードで使用される Thrift サービスモデルです。フロントエンドノードの thrift_server_type 構成(大文字小文字を区別しない)と一致させる必要があります。有効な値は以下の通りです。
THREADED— 非同期 I/O モデル。THREAD_POOL— 同期 I/O モデル。
txn_commit_rpc_timeout_ms
| プロパティ | 値 |
|---|---|
| デフォルト | 10000(10 秒) |
| 単位 | ミリ秒 |
| 動的 | いいえ |
トランザクションコミットの RPC タイムアウトです。
txn_map_shard_size
| プロパティ | 値 |
|---|---|
| デフォルト | 128 |
| 動的 | いいえ |
txn_map_lock のシャードサイズです。有効な値は 2^n(n = 0, 1, 2, 3, 4)です。トランザクション管理のスループットを向上させるために、この値を増加させます。
txn_shard_size
| プロパティ | 値 |
|---|---|
| デフォルト | 1024 |
| 動的 | いいえ |
txn_lock のシャードサイズです。有効な値は 2^n(n = 0, 1, 2, 3, 4)です。トランザクション管理のスループットを向上させるために、この値を増加させます。
port
| プロパティ | 値 |
|---|---|
| デフォルト | 20001 |
| 型 | int32 |
| 動的 | いいえ |
BE 自己テストに使用されるポートです。
スレッドおよび CPU 構成
num_cores
| プロパティ | 値 |
|---|---|
| デフォルト | 0(自動検出) |
| 型 | int32 |
| 動的 | いいえ |
BE が使用できる CPU コア数です。0 の場合、/proc/cpuinfo からコア数を読み取ります。
num_disks
| プロパティ | 値 |
|---|---|
| デフォルト | 0(OS の設定) |
| 動的 | いいえ |
マシン上のディスク数です。0 の場合、OS のデフォルト設定が適用されます。
num_threads_per_core
| プロパティ | 値 |
|---|---|
| デフォルト | 3 |
| 動的 | いいえ |
CPU コアあたりのスレッド数です。コア数の 2~3 倍の値を設定すると、過度なスケジューリングジッターを避けつつ、コアを十分に活用できます。
num_threads_per_disk
| プロパティ | 値 |
|---|---|
| デフォルト | 0 |
| 動的 | いいえ |
ディスクあたりの最大スレッド数であり、ディスクあたりの最大キュー深さも決定します。
sleep_one_second
| プロパティ | 値 |
|---|---|
| デフォルト | 1(1 秒) |
| 型 | int32 |
| 単位 | 秒 |
| 動的 | いいえ |
BE スレッドのグローバルスリープ間隔です。これはグローバル変数であり、実行時に変更することはできません。
priority_networks
| プロパティ | 値 |
|---|---|
| デフォルト | (なし) |
| 動的 | いいえ |
マルチホーミングサーバー上で正しい IP アドレスを選択するために使用される CIDR ブロックです。複数のブロックをセミコロン (;) で区切ります。一致する IP アドレスは最大 1 つである必要があります。指定されたブロックに一致するアドレスがない場合、ランダムに 1 つが選択されます。
priority_queue_remaining_tasks_increased_frequency
| プロパティ | 値 |
|---|---|
| デフォルト | 512 |
| 動的 | いいえ |
BlockingPriorityQueue 内でのタスク優先順位調整の頻度です。
スナップショットおよびクローン
make_snapshot_worker_count
| プロパティ | 値 |
|---|---|
| デフォルト | 5 |
| 動的 | いいえ |
スナップショットを作成するスレッド数です。
release_snapshot_worker_count
| プロパティ | 値 |
|---|---|
| デフォルト | 5 |
| 動的 | いいえ |
スナップショットを解放するスレッド数です。
clone_worker_count
| プロパティ | 値 |
|---|---|
| デフォルト | 3 |
| 型 | int32 |
| 動的 | いいえ |
クローンタスク用のスレッド数です。
storage_medium_migrate_count
| プロパティ | 値 |
|---|---|
| デフォルト | 1 |
| 動的 | いいえ |
記憶媒体移行(HDD と SSD 間のクローン)用のスレッド数です。
download_worker_count
| プロパティ | 値 |
|---|---|
| デフォルト | 1 |
| 動的 | いいえ |
ダウンロードスレッド数です。
upload_worker_count
| プロパティ | 値 |
|---|---|
| デフォルト | 1 |
| 動的 | いいえ |
最大アップロードスレッド数です。
download_low_speed_limit_kbps
| プロパティ | 値 |
|---|---|
| デフォルト | 50 |
| 単位 | KB/s |
| 動的 | いいえ |
最低許容ダウンロード速度です。この速度を下回るダウンロードは、download_low_speed_time を超えて継続した場合、中止されます。
download_low_speed_time
| プロパティ | 値 |
|---|---|
| デフォルト | 300 |
| 単位 | 秒 |
| 動的 | いいえ |
download_low_speed_limit_kbps を下回った状態が続く最大時間です。この時間を超えると、ダウンロードが中止されます。
max_download_speed_kbps
| プロパティ | 値 |
|---|---|
| デフォルト | 50000 |
| 単位 | KB/s |
| 動的 | いいえ |
最大ダウンロード速度です。
ログ
sys_log_dir
| プロパティ | 値 |
|---|---|
| デフォルト | ${DORIS_HOME}/log |
| 型 | 文字列 |
| 動的 | いいえ |
BE ログファイルの保存ディレクトリです。
sys_log_level
| プロパティ | 値 |
|---|---|
| デフォルト | INFO |
| 動的 | いいえ |
ログレベルです。最も低いものから最も高いものへ: INFO、WARNING、ERROR、FATAL。
sys_log_roll_mode
| プロパティ | 値 |
|---|---|
| デフォルト | SIZE-MB-1024 |
| 動的 | いいえ |
ログローテーションポリシーです。デフォルトでは、ログファイルのサイズが 1 GB に達するとローテーションされます。
sys_log_roll_num
| プロパティ | 値 |
|---|---|
| デフォルト | 10 |
| 動的 | いいえ |
保持するローテーション済みログファイルの数です。
sys_log_verbose_level
| プロパティ | 値 |
|---|---|
| デフォルト | 10 |
| 動的 | いいえ |
コード内の VLOG 出力の詳細レベルです。
sys_log_verbose_modules
| プロパティ | 値 |
|---|---|
| デフォルト | (なし) |
| 動的 | いいえ |
ログ出力のモジュールフィルターです。たとえば、この値を olap に設定すると、olap モジュールからのログのみが出力されます。
log_buffer_level
| プロパティ | 値 |
|---|---|
| デフォルト | (メモリ内に保持) |
| 動的 | いいえ |
ログフラッシュ戦略です。デフォルトではログをメモリ内に保持します。
aws_log_level
| プロパティ | 値 |
|---|---|
| デフォルト | 3(Warn) |
| 型 | int32 |
| 動的 | いいえ |
AWS SDK のログレベルです。有効な値は以下の通りです。
| 値 | レベル |
|---|---|
0 | Off |
1 | Fatal |
2 | Error |
3 | Warn |
4 | Info |
5 | Debug |
6 | Trace |
メトリックおよびモニタリング
enable_metric_calculator
| プロパティ | 値 |
|---|---|
| デフォルト | true |
| 動的 | いいえ |
BE のパフォーマンス指標を収集するメトリック計算機を実行するかどうかを指定します。
enable_system_metrics
| プロパティ | 値 |
|---|---|
| デフォルト | true |
| 動的 | いいえ |
システムメトリックを収集するかどうかを指定します。
periodic_counter_update_period_ms
| プロパティ | 値 |
|---|---|
| デフォルト | 500 |
| 単位 | ミリ秒 |
| 動的 | いいえ |
レートおよびサンプリング計算機の更新間隔です。
status_report_interval
| プロパティ | 値 |
|---|---|
| デフォルト | 5 |
| 単位 | 秒 |
| 動的 | いいえ |
プロファイルレポートの送信間隔です。
report_disk_state_interval_seconds
| プロパティ | 値 |
|---|---|
| デフォルト | 60 |
| 単位 | 秒 |
| 動的 | いいえ |
BE エージェントがディスク状態をフロントエンドノードに報告する間隔です。
report_tablet_interval_seconds
| プロパティ | 値 |
|---|---|
| デフォルト | 60 |
| 単位 | 秒 |
| 動的 | いいえ |
BE エージェントが OLAP タブレット情報をフロントエンドノードに報告する間隔です。
report_task_interval_seconds
| プロパティ | 値 |
|---|---|
| デフォルト | 10 |
| 単位 | 秒 |
| 動的 | いいえ |
BE エージェントがタスク署名をフロントエンドノードに報告する間隔です。
disk_stat_monitor_interval
| プロパティ | 値 |
|---|---|
| デフォルト | 5 |
| 単位 | 秒 |
| 動的 | いいえ |
連続するディスク状態チェック間の間隔です。
max_percentage_of_error_disk
| プロパティ | 値 |
|---|---|
| デフォルト | 0 |
| 型 | int32 |
| 動的 | いいえ |
ストレージエンジンが許容する障害ディスクの最大割合です。障害ディスクの割合がこの値を超えると、BE は停止します。
scan_context_gc_interval_min
| プロパティ | 値 |
|---|---|
| デフォルト | 5 |
| 単位 | 分 |
| 動的 | いいえ |
コンテキストガーベジコレクションスレッドのスケジューリング間隔です。
外部サービス
es_http_timeout_ms
| プロパティ | 値 |
|---|---|
| デフォルト | 5000 |
| 単位 | ミリ秒 |
| 動的 | いいえ |
Elasticsearch への HTTP 接続のタイムアウトです。
es_scroll_keepalive
| プロパティ | 値 |
|---|---|
| デフォルト | 5 |
| 単位 | 分 |
| 動的 | いいえ |
Elasticsearch スクロールコンテキストの有効期間です。
external_table_connect_timeout_sec
| プロパティ | 値 |
|---|---|
| デフォルト | 5 |
| 型 | int32 |
| 単位 | 秒 |
| 動的 | いいえ |
外部テーブル接続の接続タイムアウトです。
パスおよびディレクトリ
custom_config_dir
| プロパティ | 値 |
|---|---|
| デフォルト | conf/ |
| 動的 | いいえ |
be_custom.conf のディレクトリです。conf/ ディレクトリがアップグレード時に上書きされる可能性がある場合、永続化された動的構成を保護するために、この値を別の場所に設定してください。
plugin_path
| プロパティ | 値 |
|---|---|
| デフォルト | ${DORIS_HOME}/plugin |
| 動的 | いいえ |
BE プラグインのディレクトリです。
pprof_profile_dir
| プロパティ | 値 |
|---|---|
| デフォルト | ${DORIS_HOME}/log |
| 動的 | いいえ |
pprof プロファイルの保存ディレクトリです。
small_file_dir
| プロパティ | 値 |
|---|---|
| デフォルト | ${DORIS_HOME}/lib/small_file/ |
| 動的 | いいえ |
SmallFileMgr がダウンロードしたファイルを格納するディレクトリです。
query_scratch_dirs
| プロパティ | 値 |
|---|---|
| デフォルト | ${DORIS_HOME} |
| 型 | 文字列 |
| 動的 | いいえ |
クエリ実行中に BE が一時的なスプールデータを書き込むディレクトリです。複数のディレクトリをセミコロン (;) で区切ります。
pull_load_task_dir
| プロパティ | 値 |
|---|---|
| デフォルト | ${DORIS_HOME}/var/pull_load |
| 動的 | いいえ |
Pull Load タスクファイルのディレクトリです。
user_function_dir
| プロパティ | 値 |
|---|---|
| デフォルト | ${DORIS_HOME}/lib/udf |
| 動的 | いいえ |
ユーザー定義関数 (UDF) ファイルのディレクトリです。
クラスター管理
cluster_id
| プロパティ | 値 |
|---|---|
| デフォルト | -1 |
| 型 | int32 |
| 動的 | いいえ |
この BE が属するクラスターの ID です。この値は通常、フロントエンドノードからハートビート経由で配信され、手動で設定する必要はありません。手動で設定する場合は、データディレクトリ内の cluster_id ファイルが一致することを確認してください。
enable_stream_load_record
| プロパティ | 値 |
|---|---|
| デフォルト | false |
| 動的 | いいえ |
Stream Load 履歴を記録するかどうかを指定します。
enable_token_check
| プロパティ | 値 |
|---|---|
| デフォルト | true |
| 動的 | いいえ |
上位互換性のための機能です。今後のバージョンで削除される予定です。
doris_cgroups
| プロパティ | 値 |
|---|---|
| デフォルト | (なし) |
| 動的 | いいえ |
Doris プロセスに割り当てられる cgroups です。
max_client_cache_size_per_host
| プロパティ | 値 |
|---|---|
| デフォルト | 10 |
| 動的 | いいえ |
リモートホストごとにキャッシュされるクライアント接続の最大数です。
file_descriptor_cache_capacity
| プロパティ | 値 |
|---|---|
| デフォルト | 32768 |
| 動的 | いいえ |
BE がキャッシュするファイルハンドルの数です。
cache_clean_interval
| プロパティ | 値 |
|---|---|
| デフォルト | 1800(30 分) |
| 単位 | 秒 |
| 動的 | いいえ |
未使用のファイルハンドルキャッシュおよび Segment キャッシュエントリをクリーンアップする間隔です。
min_file_descriptor_number
| プロパティ | 値 |
|---|---|
| デフォルト | 60000 |
| 動的 | いいえ |
BE が要求する最小ファイルディスクリプタ数です。
min_cumulative_compaction_num_singleton_deltas
| プロパティ | 値 |
|---|---|
| デフォルト | 5 |
| 動的 | いいえ |
累積コンパクションをトリガーするために必要な最小増分ファイル数です。
max_cumulative_compaction_num_singleton_deltas
| プロパティ | 値 |
|---|---|
| デフォルト | 1000 |
| 動的 | いいえ |
単一の累積コンパクション実行で処理される最大増分ファイル数です。
max_memory_sink_batch_count
| プロパティ | 値 |
|---|---|
| デフォルト | 20 |
| 動的 | いいえ |
外部スキャンキャッシュの最大バッチ数です。batch_size(デフォルト:1024 行)と併用され、デフォルト設定では最大 20 × 1024 = 20,480 行の外部スキャンデータがキャッシュされます。