BE Configuration
Some BE configuration items are dynamic parameters which you can set interactively when BE nodes are online. The rest of them are static parameters. You can only set the static parameters of a BE node by changing them in the corresponding configuration file be.conf and restarting the BE node to allow the change to take effect.
View BE configuration itemsβ
You can view the BE configuration items using the following command:
curl http://<BE_IP>:<BE_HTTP_PORT>/varz
Configure BE parametersβ
Configure BE dynamic parametersβ
You can configure a dynamic parameter of a BE node by using the curl command.
curl -XPOST http://be_host:http_port/api/update_config?<configuration_item>=<value>
Configure BE static parametersβ
You can only set the static parameters of a BE by changing them in the corresponding configuration file be.conf, and restarting the BE to allow the changes to take effect.
Understand BE Parametersβ
Serverβ
priority_networksβ
- Default: Empty string
- Type: String
- Unit: -
- Is mutable: No
- Description: Declares a selection strategy for servers that have multiple IP addresses. Note that at most one IP address must match the list specified by this parameter. The value of this parameter is a list that consists of entries, which are separated with semicolons (;) in CIDR notation, such as
10.10.10.0/24. If no IP address matches the entries in this list, an available IP address of the server will be randomly selected. From v3.3.0, StarRocks supports deployment based on IPv6. If the server has both IPv4 and IPv6 addresses, and this parameter is not specified, the system uses an IPv4 address by default. You can change this behavior by settingnet_use_ipv6_when_priority_networks_emptytotrue. - Introduced in: -
net_use_ipv6_when_priority_networks_emptyβ
- Default: false
- Type: Boolean
- Unit: -
- Is mutable: No
- Description: A boolean value to control whether to use IPv6 addresses preferentially when
priority_networksis not specified.trueindicates to allow the system to use an IPv6 address preferentially when the server that hosts the node has both IPv4 and IPv6 addresses andpriority_networksis not specified. - Introduced in: v3.3.0
mem_limitβ
- Default: 90%
- Type: String
- Unit: -
- Is mutable: No
- Description: BE process memory upper limit. You can set it as a percentage ("80%") or a physical limit ("100G"). The default hard limit is 90% of the server's memory size, and the soft limit is 80%. You need to configure this parameter if you want to deploy StarRocks with other memory-intensive services on a same server.
- Introduced in: -
num_threads_per_coreβ
- Default: 3
- Type: Int
- Unit: -
- Is mutable: No
- Description: The number of threads started on each CPU core.
- Introduced in: -
be_http_portβ
- Default: 8040
- Type: Int
- Unit: -
- Is mutable: No
- Description: The BE HTTP server port.
- Introduced in: -
be_http_num_workersβ
- Default: 48
- Type: Int
- Unit: -
- Is mutable: No
- Description: The number of threads used by the HTTP server.
- Introduced in: -
be_exit_after_disk_write_hang_secondβ
- Default: 60
- Type: Int
- Unit: Seconds
- Is mutable: No
- Description: The length of time that the BE waits to exit after the disk hangs.
- Introduced in: -
compress_rowbatchesβ
- Default: true
- Type: Boolean
- Unit: -
- Is mutable: No
- Description: A boolean value to control whether to compress the row batches in RPCs between BEs.
trueindicates compressing the row batches, andfalseindicates not compressing them. - Introduced in: -
serialize_batchβ
- Default: false
- Type: Boolean
- Unit: -
- Is mutable: No
- Description: A boolean value to control whether to serialize the row batches in RPCs between BEs.
trueindicates serializing the row batches, andfalseindicates not serializing them. - Introduced in: -
Thriftβ
be_portβ
- Default: 9060
- Type: Int
- Unit: -
- Is mutable: No
- Description: The BE thrift server port, which is used to receive requests from FEs.
- Introduced in: -
thrift_client_retry_interval_msβ
- Default: 100
- Type: Int
- Unit: Milliseconds
- Is mutable: Yes
- Description: The time interval at which a thrift client retries.
- Introduced in: -
thrift_rpc_timeout_msβ
- Default: 5000
- Type: Int
- Unit: Milliseconds
- Is mutable: Yes
- Description: The timeout for a thrift RPC.
- Introduced in: -
thrift_rpc_strict_modeβ
- Default: true
- Type: Boolean
- Unit: -
- Is mutable: No
- Description: Whether thrift's strict execution mode is enabled. For more information on thrift strict mode, see Thrift Binary protocol encoding.
- Introduced in: -
thrift_rpc_max_body_sizeβ
- Default: 0
- Type: Int
- Unit:
- Is mutable: No
- Description: The maximum string body size of RPC.
0indicates the size is unlimited. - Introduced in: -
thrift_rpc_connection_max_valid_time_msβ
- Default: 5000
- Type: Int
- Unit: Milliseconds
- Is mutable: No
- Description: Maximum valid time for a thrift RPC connection. A connection will be closed if it has existed in the connection pool for longer than this value. It must be set consistent with FE configuration
thrift_client_timeout_ms. - Introduced in: -
bRPCβ
brpc_portβ
- Default: 8060
- Type: Int
- Unit: -
- Is mutable: No
- Description: The BE bRPC port, which is used to view the network statistics of bRPCs.
- Introduced in: -
brpc_num_threadsβ
- Default: -1
- Type: Int
- Unit: -
- Is mutable: No
- Description: The number of bthreads of a bRPC. The value
-1indicates the same number with the CPU threads. - Introduced in: -
brpc_max_body_sizeβ
- Default: 2147483648
- Type: Int
- Unit: Bytes
- Is mutable: No
- Description: The maximum body size of a bRPC.
- Introduced in: -
brpc_stub_expire_sβ
- Default: 3600
- Type: Int
- Unit: Seconds
- Is mutable: Yes
- Description: The expire time of BRPC stub cache, default 60 minutes.
- Introduced in: -
Heartbeatβ
heartbeat_service_portβ
- Default: 9050
- Type: Int
- Unit: -
- Is mutable: No
- Description: The BE heartbeat service port, which is used to receive heartbeats from FEs.
- Introduced in: -
heartbeat_service_thread_countβ
- Default: 1
- Type: Int
- Unit: -
- Is mutable: No
- Description: The thread count of the BE heartbeat service.
- Introduced in: -
Loggingβ
sys_log_dirβ
- Default:
${STARROCKS_HOME}/log - Type: String
- Unit: -
- Is mutable: No
- Description: The directory that stores system logs (including INFO, WARNING, ERROR, and FATAL).
- Introduced in: -
sys_log_levelβ
- Default: INFO
- Type: String
- Unit: -
- Is mutable: Yes (from v3.3.0, v3.2.7, and v3.1.12)
- Description: The severity levels into which system log entries are classified. Valid values: INFO, WARN, ERROR, and FATAL. This item was changed to a dynamic configuration from v3.3.0, v3.2.7, and v3.1.12 onwards.
- Introduced in: -
sys_log_roll_modeβ
- Default: SIZE-MB-1024
- Type: String
- Unit: -
- Is mutable: No
- Description: The mode in which system logs are segmented into log rolls. Valid values include
TIME-DAY,TIME-HOUR, andSIZE-MB-size. The default value indicates that logs are segmented into rolls, each of which is 1 GB. - Introduced in: -
sys_log_roll_numβ
- Default: 10
- Type: Int
- Unit: -
- Is mutable: No
- Description: The number of log rolls to reserve.
- Introduced in: -
sys_log_verbose_modulesβ
- Default:
- Type: Strings
- Unit: -
- Is mutable: No
- Description: Specifies the file names (without extensions) or file name wildcards for which VLOG logs should be printed. Multiple file names can be separated by commas. For example, if you set this configuration item to
storage_engine,tablet_manager, StarRocks prints VLOG logs from the storage_engine.cpp and tablet_manager.cpp files. You can also use wildcards, e.g., set to*to print VLOG logs from all files. The VLOG log printing level is controlled by thesys_log_verbose_levelparameter. - Introduced in: -
sys_log_verbose_levelβ
- Default: 10
- Type: Int
- Unit: -
- Is mutable: No
- Description: The level of the logs to be printed. This configuration item is used to control the output of logs initiated with VLOG in codes.
- Introduced in: -
log_buffer_levelβ
- Default: Empty string
- Type: String
- Unit: -
- Is mutable: No
- Description: The strategy for flushing logs. The default value indicates that logs are buffered in memory. Valid values are
-1and0.-1indicates that logs are not buffered in memory. - Introduced in: -
update_tablet_meta_info_worker_countβ
- Default: 1
- Type: Int
- Unit: -
- Is mutable: Yes
- Description: Sets the maximum number of worker threads in the backend thread pool that handles tablet metadata update tasks. The thread pool is created during backend startup with a minimum of 0 threads (it can scale down to zero when idle) and a max equal to this setting (clamped to at least 1). Updating this value at runtime adjusts the pool's max threads. Increase it to allow more concurrent metadata-update tasks, or lower it to limit concurrency.
- Introduced in: v4.1.0, v4.0.6, v3.5.13
Statistic reportβ
report_task_interval_secondsβ
- Default: 10
- Type: Int
- Unit: Seconds
- Is mutable: Yes
- Description: The time interval at which to report the state of a task. A task can be creating a table, dropping a table, loading data, or changing a table schema.
- Introduced in: -
report_disk_state_interval_secondsβ
- Default: 60
- Type: Int
- Unit: Seconds
- Is mutable: Yes
- Description: The time interval at which to report the storage volume state, which includes the size of data within the volume.
- Introduced in: -
report_tablet_interval_secondsβ
- Default: 60
- Type: Int
- Unit: Seconds
- Is mutable: Yes
- Description: The time interval at which to report the most updated version of all tablets.
- Introduced in: -
report_workgroup_interval_secondsβ
- Default: 5
- Type: Int
- Unit: Seconds
- Is mutable: Yes
- Description: The time interval at which to report the most updated version of all workgroups.
- Introduced in: -