FE参数配置

本文介绍FE进程的相关配置项。

背景信息

FE的配置文件fe.conf通常存放在FE部署路径的conf/目录下。而在0.14版本中会引入另一个配置文件fe_custom.conf。该配置文件用于记录您在运行时动态配置并持久化的配置项。FE进程启动后,会先读取fe.conf中的配置项,之后再读取fe_custom.conf中的配置项。fe_custom.conf中的配置项会覆盖fe.conf中相同的配置项。fe_custom.conf文件的位置可以在fe.conf中通过custom_config_dir配置项配置。

说明

本文部分内容来源于Apache Doris,详情请参见FE配置项

查看配置项

FE的配置项有两种方式进行查看:

  • FE前端页面查看

    在浏览器中打开FE前端页面:http://fe_host:fe_http_port/variable。在Configure Info中可以看到当前生效的FE配置项。

  • 通过命令查看

    FE启动后,可以在MySQL客户端中,通过以下命令查看FE的配置项:

    ADMIN SHOW FRONTEND CONFIG

    结果中各列含义如下:

    • Key:配置项名称。

    • Value:当前配置项的值。

    • Type:配置项值类型,例如整型、字符串。

    • IsMutable:是否可以动态配置。如果为true,表示该配置项可以在运行时进行动态配置。如果为false,则表示该配置项只能在fe.conf中配置并且重启FE后生效。

    • MasterOnly:是否为Master FE节点特有的配置项。如果为true,则表示该配置项仅在Master FE节点有意义,对其他类型的FE节点无意义。如果为false,则表示该配置项在所有FE节点中均有意义。

    • Comment:配置项的描述。

设置配置项

FE的配置项有两种方式进行配置:

  • 静态配置

    在conf/fe.conf文件中添加和设置配置项。fe.conf中的配置项会在FE进程启动时被读取。没有在fe.conf中的配置项将使用默认值。

  • 通过MySQL协议动态配置

    FE启动后,可以通过以下命令动态设置配置项。该命令需要管理员权限。

    ADMIN SET FRONTEND CONFIG ("fe_config_name" = "fe_config_value");

    不是所有配置项都支持动态配置。可以通过ADMIN SHOW FRONTEND CONFIG;命令结果中的IsMutable列查看是否支持动态配置。如果是修改MasterOnly的配置项,则该命令会直接转发给Master FE并且仅修改Master FE中对应的配置项。通过该方式修改的配置项将在FE进程重启后失效。更多该命令的帮助,可以通过HELP ADMIN SET CONFIG;命令查看。

应用举例

  • 执行以下命令修改async_pending_load_task_pool_size

    ADMIN SHOW FRONTEND CONFIG

    查看到该配置项如果不能动态配置(IsMutable为false),则需要在fe.conf中添加:async_pending_load_task_pool_size=20之后重启FE进程以生效该配置。

  • 执行以下命令修改dynamic_partition_enable

    ADMIN SHOW FRONTEND CONFIG

    查看到该配置项如果可以动态配置(IsMutable 为 true),并且是Master FE特有的配置,则首先我们可以连接到任意FE,执行如下命令修改配置:

    ADMIN SET FRONTEND CONFIG ("dynamic_partition_enable" = "true");`

    然后执行如下命令查看修改后的值:

    set forward_to_master=true;
    ADMIN SHOW FRONTEND CONFIG;

    通过以上方式修改后,如果Master FE重启或进行了Master切换,则配置将失效。如果您想永久生效该配置项,则可以在fe.conf中直接添加配置项,然后重启FE。

  • 执行以下命令修改max_distribution_pruner_recursion_depth

    ADMIN SHOW FRONTEND CONFIG

    可以查看到该配置项如果可以动态配置(IsMutable 为 true),并且不是Master FE特有的配置。同样,我们可以通过动态修改配置的命令修改该配置。因为该配置不是Master FE特有配置,所以需要单独连接到不同的FE,进行动态修改配置的操作,这样才能保证所有FE都使用了修改后的配置值。之后可以通过如下命令查看修改后的值:

    ADMIN SET FRONTEND CONFIG ("dynamic_partition_enable" = "true");`

    通过以上方式修改后,如果Master FE重启或进行了Master切换,则配置将失效。可以通过在fe.conf中直接添加配置项,并重启FE后,永久生效该配置项。

配置项列表

max_dynamic_partition_num

  • 默认值:500

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:用于限制创建动态分区表时可以创建的最大分区数,避免一次创建过多分区。 数量由动态分区参数中的开始结束决定。

grpc_max_message_size_bytes

  • 默认值:1

  • 说明:用于设置GRPC客户端通道的初始流窗口大小,也用于设置最大消息大小。当结果集较大时,可能需要增大该值。单位:GB。

min_replication_num_per_tablet

  • 默认值:1

  • 说明:用于设置单个Tablet的最小Replication数量。

max_replication_num_per_tablet

  • 默认值:32767

  • 说明:用于设置单个Tablet的最大Replication数量。

enable_outfile_to_local

  • 默认值:false

  • 说明:是否允许outfile函数将结果导出到本地磁盘。

enable_access_file_without_broker

  • 默认值:false

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:此配置用于在通过代理访问bos或其他云存储时尝试跳过代理。

enable_bdbje_debug_mode

  • 默认值:false

  • 说明:如果设置为true,FE将在BDBJE调试模式下启动,在Web页面选择System > bdbje可以查看相关信息,否则不能查看。

enable_http_server_v2

  • 默认值:从官方0.14.0 Release版之后默认为true,之前版本默认false。

  • 说明:HTTP Server V2由SpringBoot实现, 并采用前后端分离的架构。只有启用httpv2,您才能使用新的前端UI界面。

jetty_server_acceptors

默认值:2

jetty_server_selectors

默认值:4

jetty_server_workers

  • 默认值:0

  • 说明:Jetty的线程数量由以上三个参数控制。Jetty的线程架构模型非常简单,分为Acceptors、Selectors和Workers三个线程池。Acceptors负责接受新连接,然后交给Selectors处理HTTP消息协议的解包,最后由workers处理请求。前两个线程池采用非阻塞模型,一个线程可以处理很多Socket的读写,所以线程池数量较小。大多数项目,Acceptors线程只需要1~2个,Selectors线程配置2~4个即可。Workers是阻塞性的业务逻辑,往往有较多的数据库操作,需要的线程数量较多,具体数量随应用程序的QPS和IO事件占比而定。QPS越高,需要的线程数量越多,IO占比越高,等待的线程数越多,需要的总线程数也越多。Workers线程池默认不做设置,根据需要自行设置。

jetty_server_max_http_post_size

  • 默认值:100 * 1024 * 1024 (100 MB)

  • 说明:Put或Post方法上传文件的最大字节数。

jetty_server_max_http_header_size

  • 默认值:10240(10K)

  • 说明:http header size配置参数。

default_max_filter_ratio

  • 默认值:0

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:可过滤数据(由于数据不规则等原因)的最大百分比。取值为0,表示严格模式,只要数据有一条被过滤掉整个导入失败。

default_db_data_quota_bytes

  • 默认值:1 PB

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:用于设置默认数据库数据配额大小,设置单个数据库的配额大小可以使用:

    设置数据库数据量配额,单位为B/K/KB/M/MB/G/GB/T/TB/P/PB
    ALTER DATABASE db_name SET DATA QUOTA quota;
    查看配置
    show data(其他用法:HELP SHOW DATA)

default_db_replica_quota_size

  • 默认值:1073741824

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:用于设置默认数据库Replica数量配额大小,设置单个数据库配额大小可以使用:

    设置数据库Replica数量配额
    ALTER DATABASE db_name SET REPLICA QUOTA quota;
    查看配置
    show data(其他用法:HELP SHOW DATA)

enable_batch_delete_by_default

  • 默认值:false

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:创建唯一表时是否添加删除标志列。

recover_with_empty_tablet

  • 默认值:false

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:在某些情况下,一些tablet可能会损坏或丢失所有副本。 此时数据已经丢失,损坏的tablet会导致整个查询失败,无法查询剩余的健康tablet。 在这种情况下,您可以将此配置设置为true。 系统会将损坏的tablet替换为空tablet,以确保查询可以执行。(但此时数据已经丢失,所以查询结果可能不准确。)

max_allowed_in_element_num_of_delete

  • 默认值:1024

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:用于限制delete语句中Predicate的元素个数。

cache_result_max_row_count

  • 默认值:3000

  • 是否可以动态配置:true

  • 是否为 Master FE 节点独有的配置项:false

  • 说明:设置可以缓存的最大行数。

cache_last_version_interval_second

  • 默认值:900

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:false

  • 说明:缓存结果时上一版本的最小间隔,该参数区分离线更新和实时更新。

cache_enable_partition_mode

  • 默认值:true

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:false

  • 说明:如果设置为true,FE将从BE cache中获取数据,该选项适用于部分分区的实时更新。

cache_enable_sql_mode

  • 默认值:true

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:false

  • 说明:如果设置为true,FE会启用SQL结果缓存,该选项适用于离线数据更新场景。

min_clone_task_timeout_sec、max_clone_task_timeout_sec

  • 默认值:最小3分钟,最大2小时

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:min_clone_task_timeout_secmax_clone_task_timeout_sec用于限制克隆任务的最小和最大超时时间。一般情况下,克隆任务的超时时间是通过数据量和最小传输速度(5 MB/s)来估计的。 但在特殊情况下,您可能需要手动设置这两个配置,以确保克隆任务不会因超时而失败。

agent_task_resend_wait_time_ms

  • 默认值:5000

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:当代理任务的创建时间被设置的时候,此配置将决定是否重新发送代理任务, 当且仅当当前时间减去创建时间大于agent_task_task_resend_wait_time_ms时,ReportHandler可以重新发送代理任务。

该配置目前主要用来解决PUBLISH_VERSION代理任务的重复发送问题, 目前该配置的默认值是5000,是个实验值,由于把代理任务提交到代理任务队列和提交到BE存在一定的时间延迟,所以调大该配置的值可以有效解决代理任务的重复发送问题,但同时会导致提交失败或者执行失败的代理任务再次被执行的时间延长。

enable_odbc_table

  • 默认值:false

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:是否启用ODBC表,默认不启用,在使用的时候需要手动配置启用,该参数可以通过:ADMIN SET FRONTEND CONFIG("key"="value") 方式进行设置。

enable_spark_load

  • 默认值:false

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:是否临时启用spark load,默认不启用。

disable_storage_medium_check

  • 默认值:false

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:如果disable_storage_medium_check为true,ReportHandler将不会检查tablet的存储介质,并使得存储冷却功能失效,默认值为false。当您不关心tablet的存储介质是什么时,可以将值设置为true 。

drop_backend_after_decommission

  • 默认值:false

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:该配置用于控制系统在成功下线(Decommission)BE后,是否Drop该BE。如果为true,则在BE成功下线后,会删除掉该BE节点。如果为false,则在BE成功下线后,该BE会一直处于DECOMMISSION状态,但不会被删除。

该配置在某些场景下可以发挥作用。假设一个Doris集群的初始状态为每个BE节点有一块磁盘。运行一段时间后,系统进行了纵向扩容,即每个BE节点新增2块磁盘。因为Doris当前还不支持BE内部各磁盘间的数据均衡,所以会导致初始磁盘的数据量可能一直远高于新增磁盘的数据量。此时我们可以通过以下操作进行人工的磁盘间均衡:

  1. 将该配置项置为false。

  2. 对某一个BE节点,执行Decommission操作,该操作会将该BE上的数据全部迁移到其他节点中。

  3. Decommission操作完成后,该BE不会被删除。此时,取消掉该BE的Decommission状态。则数据会开始从其他BE节点均衡回这个节点。此时,数据将会均匀地分布到该BE的所有磁盘上。

  4. 对所有BE节点依次执行2、3两个步骤,最终达到所有节点磁盘均衡的目的。

period_of_auto_resume_min

  • 默认值:5

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:自动恢复Routine load的周期。

max_tolerable_backend_down_num

  • 默认值:0

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:只要有一个BE宕机,Routine Load就无法自动恢复。

check_java_version

  • 默认值:true

  • 说明:Doris将检查已编译和运行的Java版本是否兼容,如果不兼容将抛出Java版本不匹配的异常信息,并终止启动。

max_running_rollup_job_num_per_table

  • 默认值:1

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:控制Rollup作业并发限制。

dynamic_partition_enable

  • 默认值:true

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:是否启用动态分区调度,默认启用。

dynamic_partition_check_interval_seconds

  • 默认值:600

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:检查动态分区的频率。单位:秒。

disable_cluster_feature

  • 默认值:true

  • 是否可以动态配置:true

  • 说明:多集群功能将在0.12版本中弃用 ,将此配置设置为true将禁用与集群功能相关的所有操作,包括:

    • 创建、删除集群。

    • 添加、释放BE、将BE添加到集群、停用集群balance。

    • 更改集群的后端数量。

    • 链接、迁移数据库。

force_do_metadata_checkpoint

  • 默认值:false

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:如果设置为true,则无论jvm内存使用百分比如何,检查点线程都会创建检查点。

metadata_checkpoint_memory_threshold

  • 默认值:60(60%)

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:如果JVM内存使用百分比(堆或旧内存池)超过此阈值,则检查点线程将无法工作以避免OOM。

max_distribution_pruner_recursion_depth

  • 默认值:100

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:false

  • 说明:这将限制哈希分布修剪器的最大递归深度。 例如:其中a in(5 个元素)、b in(4 个元素)、c in(3 个元素)和d in(2 个元素)。 a、b、c、d 是分布式列,所以递归深度为 5 4 3 * 2 = 120,大于 100, 因此该分发修剪器将不起作用,只会返回所有buckets。 增加深度可以支持更多元素的分布修剪,但可能会消耗更多的CPU。

通过ADMIN SHOW FRONTEND CONFIG可以查看到该配置项可以动态配置(IsMutable为true)。并且不是Master FE独有配置。同样,我们可以通过动态修改配置的命令修改该配置。因为该配置不是Master FE独有配置,所以需要单独连接到不同的FE,进行动态修改配置的操作,这样才能保证所有FE都使用了修改后的配置值。

using_old_load_usage_pattern

  • 默认值:false

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:如果设置为true,处理错误的insert stmt仍将返回一个标签给您。 您可以使用此标签来检查加载作业的状态。 默认值为false,表示插入操作遇到错误,不带加载标签,直接抛出异常给客户端。

small_file_dir

  • 默认值:DORIS_HOME_DIR + “/small_files”

  • 说明:保存小文件的目录。

max_small_file_size_bytes

  • 默认值:1 MB

  • 是否可以动态配置:true

  • 是否为 Master FE 节点独有的配置项:true

  • 说明:SmallFileMgr中单个文件存储的最大大小。

max_small_file_number

  • 默认值:100

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:SmallFileMgr中存储的最大文件数。

max_routine_load_task_num_per_be

  • 默认值:5

  • 是否可以动态配置:true

  • 是否为 Master FE 节点独有的配置项:true

  • 说明:每个BE的最大并发例Routine Load任务数。 这是为了限制发送到BE的Routine Load任务的数量,并且它也应该小于BE config routine_load_thread_pool_size(默认10),这是BE上的Routine Load任务线程池大小。

max_routine_load_task_concurrent_num

  • 默认值:5

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:单个Routine Load作业的最大并发任务数。

max_routine_load_job_num

  • 默认值:100

  • 说明:最大Routine Load作业数,包括NEED_SCHEDULED、RUNNING、PAUSE。

max_backup_restore_job_num_per_db

  • 默认值:10

  • 说明:此配置用于控制每个DB能够记录的backup、restore任务的数量。

max_running_txn_num_per_db

  • 默认值:100

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:这个配置主要是用来控制同一个DB的并发导入个数的。当集群中有过多的导入任务正在运行时,新提交的导入任务可能会报错:

    current running txns on db xxx is xx, larger than limit xx

    当遇到该错误时,说明当前集群内正在运行的导入任务超过了该配置值。此时建议在业务侧进行等待并重试导入任务。一般来说不推荐增大这个配置值。过高的并发数可能导致系统负载过大。

enable_metric_calculator

  • 默认值:true

  • 说明:如果设置为true,指标收集器将作为守护程序计时器运行,以固定间隔收集指标。

report_queue_size

  • 默认值:100

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:此阈值是为了避免在FE中堆积过多的报告任务,可能会导致OOM异常等问题。 并且每个BE每1分钟会报告一次tablet 信息,因此无限制接收报告是不可接受的。不建议您修改默认值。

partition_rebalance_max_moves_num_per_selection

  • 默认值:10

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:仅在使用PartitionRebalancer时有效。

partition_rebalance_move_expire_after_access

  • 默认值:600

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:仅在使用PartitionRebalancer时有效。 如果更改,缓存的移动将被清除。

tablet_rebalancer_type

  • 默认值:BeLoad

  • 是否为Master FE节点独有的配置项:true

  • 说明:rebalancer 类型。包括BeLoad、Partition类型。 不区分大小写。如果类型解析失败,默认使用BeLoad。

max_balancing_tablets

  • 默认值:100

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:如果TabletScheduler中的balance tablet数量超过max_balancing_tablets,则不再进行balance检查。

max_scheduling_tablets

  • 默认值:2000

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:如果TabletScheduler中调度的tablet数量超过max_scheduling_tablets,则跳过检查。

disable_balance

  • 默认值:false

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:如果设置为true,TabletScheduler将不会做balance。

balance_load_score_threshold

  • 默认值:0.1 (10%)

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:集群balance百分比的阈值,如果一个BE的负载分数比平均分数低10%,这个后端将被标记为低负载,如果负载分数比平均分数高10%,将被标记为高负载。

schedule_slot_num_per_path

  • 默认值:2

  • 说明:tablet调度程序中每个路径的默认slot数量。

tablet_repair_delay_factor_second

  • 默认值:60

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:决定修复 tablet 前的延迟时间因素。

    • 如果优先级为VERY_HIGH,请立即修复。

    • 如果优先级为HIGH,延迟 tablet_repair_delay_factor_second * 1。

    • 正常:延迟 tablet_repair_delay_factor_second * 2。

    • 低:延迟 tablet_repair_delay_factor_second * 3。

es_state_sync_interval_second

  • 默认值:10

  • 说明:FE会在每隔es_state_sync_interval_secs调用ES API获取ES索引分片信息。

disable_hadoop_load

  • 默认值:false

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:默认不禁用,不建议使用hadoop集群load。 设置为true以禁用这种load方式。

db_used_data_quota_update_interval_secs

  • 默认值:300

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:一个主守护线程将每db_used_data_quota_update_interval_secs更新数据库txn管理器的数据库使用数据配额为了更好的数据导入性能,在数据导入之前的数据库已使用的数据量是否超出配额的检查中,无需实时计算数据库已经使用的数据量,而是获取后台线程周期性更新的值。该配置用于设置更新数据库使用的数据量的值的时间间隔。

disable_load_job

  • 默认值:false

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:不禁用,如果设置为true,那么

    • 调用开始TXN API时,所有挂起的加载作业都将失败。

    • 调用COMMIT TXN API时,所有准备加载作业都将失败。

    • 所有提交的加载作业将等待发布。

catalog_try_lock_timeout_ms

  • 默认值:5000 ms

  • 是否可以动态配置:true

  • 说明:元数据锁的tryLock超时配置。除了某些测试场景下,通常不需要改变。

max_query_retry_time

  • 默认值:1

  • 是否可以动态配置:true

  • 说明:查询重试次数。 如果我们遇到RPC异常并且没有将结果发送给您,则可能会重试查询。 您可以减少此数字以避免雪崩灾难。

remote_fragment_exec_timeout_ms

  • 默认值:5000

  • 是否可以动态配置:true

  • 说明:异步执行远程fragment的超时时间。单位:ms。在正常情况下,异步远程fragment将在短时间内执行。 如果系统处于高负载状态,请尝试将此超时设置更长的时间。

enable_local_replica_selection

  • 默认值:false

  • 是否可以动态配置:true

  • 说明:如果设置为true,Planner将尝试在与此前端相同的主机上选择tablet的副本。 在以下情况下,这可能会减少网络传输:

    • N个主机,部署了N个BE和N个FE。

    • 数据有N个副本。

    • 高并发查询均匀发送到所有Frontends。

在以上情况下,所有Frontends只能使用本地副本进行查询。如果想当本地副本不可用时,使用非本地副本服务查询,请将enable_local_replica_selection_fallback设置为 true。

enable_local_replica_selection_fallback

  • 默认值:false

  • 是否可以动态配置:true

  • 说明:与enable_local_replica_selection配合使用,当本地副本不可用时,使用非本地副本服务查询。

max_unfinished_load_job

  • 默认值:1000

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:最大加载任务数,包括PENDING、ETL、LOADING、QUORUM_FINISHED。如果超过此数量,则不允许提交加载作业。

max_bytes_per_broker_scanner

  • 默认值:3 * 1024 * 1024 * 1024L (3G)

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:broker scanner程序可以在一个broker加载作业中处理的最大字节数。 通常,每个BE都有一个broker scanner程序。

enable_auth_check

  • 默认值:true

  • 说明:如果设置为false,则身份验证检查将被禁用,以防新权限系统出现问题。

tablet_stat_update_interval_second

  • 默认值:300(5分钟)

  • 说明:Tablet状态更新间隔所有FE将在每个时间间隔从所有BE获取tablet统计信息。

storage_flood_stage_usage_percent

  • 默认值:95(95%)

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

storage_flood_stage_left_capacity_bytes

  • 默认值:storage_flood_stage_usage_percent : 95 (95%)、storage_flood_stage_left_capacity_bytes : 1 1024 1024 * 1024 (1GB)

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:如果磁盘容量达到storage_flood_stage_usage_percent和storage_flood_stage_left_capacity_bytes以下操作将被拒绝:

    • load作业

    • restore作业

storage_high_watermark_usage_percent

  • 默认值:85(85%)

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

storage_min_left_capacity_bytes

  • 默认值:2 * 1024 * 1024 * 1024 (2GB)

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:storage_high_watermark_usage_percent限制BE端存储路径使用最大容量百的分比。 storage_min_left_capacity_bytes限制 BE 端存储路径的最小剩余容量。 如果达到这两个限制,则不能选择此存储路径作为tablet存储目的地。 但是对于tablet恢复,我们可能会超过这些限制以尽可能保持数据完整性。

backup_job_default_timeout_ms

  • 默认值:86400 * 1000 (1天)

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:备份作业的默认超时时间。

with_k8s_certs

  • 默认值:false

  • 说明:如果在本地使用K8s部署管理器,请将其设置为true并准备证书文件。

dpp_hadoop_client_path

默认值:/lib/hadoop-client/hadoop/bin/hadoop

dpp_bytes_per_reduce

默认值:100 1024 1024L (100M)

dpp_default_cluster

默认值:palo-dpp

dpp_default_config_str

默认值:{ hadoop_configs : 'mapred.job.priority=NORMAL;mapred.job.map.capacity=50;mapred.job.reduce.capacity=50;mapred.hce.replace.streaming=false;abaci.long.stored.job=true;dce.shuffle.enable=false;dfs.client.authserver.force_stop=true;dfs.client.auth.method=0' }

dpp_config_str

默认值:{ palo-dpp : { hadoop_palo_path : '/dir', hadoop_configs : 'fs.default.name=hdfs://host:port;mapred.job.tracker=host:port;hadoop.job.ugi=user,password' } }

enable_deploy_manager

  • 默认值:disable

  • 说明:如果使用第三方部署管理器部署Doris,则设置为true。有效的选项是:

    • disable:没有部署管理器

    • k8s:Kubernetes

    • ambari:Ambari

    • local:本地文件(用于测试或Boxer2 BCC版本)

enable_token_check

  • 默认值:true

  • 说明:为了向前兼容,稍后将被删除。下载image文件时检查令牌。

expr_depth_limit

  • 默认值:3000

  • 是否可以动态配置:true

  • 说明:限制expr树的深度。超过此限制可能会导致在持有db read lock时分析时间过长。

expr_children_limit

  • 默认值:10000

  • 是否可以动态配置:true

  • 说明:限制expr树的expr子节点的数量。 超过此限制可能会导致在持有数据库读锁时分析时间过长。

proxy_auth_magic_prefix

默认值:x@8

proxy_auth_enable

默认值:false

meta_publish_timeout_ms

  • 默认值:1000

  • 说明:默认元数据发布超时时间。单位:ms。

disable_colocate_balance

  • 默认值:false

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:此配置可以设置为true以禁用自动colocate表的重新定位和平衡。 如果disable_colocate_balance设置为 true,则 ColocateTableBalancer将不会重新定位和平衡并置表。

说明
  • 一般情况下,不需要关闭平衡。

  • 一旦关闭平衡,不稳定的colocate表可能无法恢复。

  • 最终查询时无法使用colocate计划。

query_colocate_join_memory_limit_penalty_factor

  • 默认值:1

  • 是否可以动态配置:true

  • 说明:colocote join PlanFragment instance的memory_limit = exec_mem_limit / min (query_colocate_join_memory_limit_penalty_factor, instance_num)。

max_connection_scheduler_threads_num

  • 默认值:4096

  • 说明:查询请求调度器中的最大线程数。

qe_max_connection

  • 默认值:1024

  • 说明:每个FE的最大连接数。

check_consistency_default_timeout_second

  • 默认值:600

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:单个一致性检查任务的默认超时时间。设置足够长以适合您的tablet大小。单位:秒。

consistency_check_start_time

  • 默认值:23

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:一致性检查开始时间。一致性检查器将从consistency_check_start_time运行到consistency_check_end_time。如果两个时间相同,则不会触发一致性检查。

consistency_check_end_time

  • 默认值:23

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:一致性检查结束时间。一致性检查器将从consistency_check_start_time运行到consistency_check_end_time。如果两个时间相同,则不会触发一致性检查。

export_tablet_num_per_task

  • 默认值:5

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:每个导出查询计划的tablet数量。

export_task_default_timeout_second

  • 默认值:2 * 3600

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:导出作业的默认超时时间。单位:秒。

export_running_job_num_limit

  • 默认值:5

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:运行导出作业的并发限制,0表示无限制。

export_checker_interval_second

  • 默认值:5

  • 说明:导出检查器的运行间隔。

default_load_parallelism

  • 默认值:1

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:单个节点broker load导入的默认并发度。 如果您在提交broker load任务时,在properties中自行指定了并发度,则采用您自定义的并发度。 此参数将与max_broker_concurrencymin_bytes_per_broker_scanner等多个配置共同决定导入任务的并发度。

max_broker_concurrency

  • 默认值:10

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:broker scanner的最大并发数。

min_bytes_per_broker_scanner

  • 默认值:67108864L(64M)

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:单个broker scanner将读取的最小字节数。

catalog_trash_expire_second

  • 默认值:86400L(1天)

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:删除数据库(表/分区)后,您可以使用RECOVER stmt恢复它。 这指定了最大数据保留时间。 一段时间后,数据将被永久删除。

storage_cooldown_second

  • 默认值:30 * 24 * 3600L(30天)

  • 说明:创建表(或分区)时,可以指定其存储介质(HDD或SSD)。如果设置为SSD,这将指定tablet在SSD上停留的默认时间。 之后,tablet将自动移动到HDD。您可以在CREATE TABLE stmt中设置存储冷却时间。

default_storage_medium

  • 默认值:HDD

  • 说明:创建表(或分区)时,可以指定其存储介质(HDD或SSD)。如果未设置,则指定创建时的默认介质。

max_backend_down_time_second

  • 默认值:3600 (1小时)

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:如果BE关闭了max_backend_down_time_second,将触发BACKEND_DOWN事件。

alter_table_timeout_second

  • 默认值:86400(1天)

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:ALTER TABLE请求的最大超时时间。 设置足够长以适合您的表格数据大小。

capacity_used_percent_high_water

  • 默认值:0.75 (75%)

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:磁盘容量的高水位使用百分比。 这用于计算后端的负载分数。

clone_distribution_balance_threshold

  • 默认值:0.2

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:BE副本数的平衡阈值。

clone_capacity_balance_threshold

  • 默认值:0.2

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:BE中数据大小的平衡阈值。平衡算法为:

    • 计算整个集群的平均使用容量(AUC),AUC=总数据大小/BE数

    • 高水位为(AUC * (1 + clone_capacity_balance_threshold))

    • 低水位为(AUC * (1 - clone_capacity_balance_threshold))

克隆检查器将尝试将副本从高水位BE移动到低水位BE。

replica_delay_recovery_second

  • 默认值:0

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:副本之间的最小延迟秒数失败,并且尝试使用克隆来恢复它。

clone_high_priority_delay_second

  • 默认值:0

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:高优先级克隆作业的延迟触发时间。

clone_normal_priority_delay_second

  • 默认值:300(5分钟)

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:正常优先级克隆作业的延迟触发时间。

clone_low_priority_delay_second

  • 默认值:600(10分钟)

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:低优先级克隆作业的延迟触发时间。克隆作业包含需要克隆(恢复或迁移)的tablet。如果优先级为LOW,则会延迟 clone_low_priority_delay_second,在作业创建之后然后被执行。这是为了避免仅因为主机短时间停机而同时运行大量克隆作业。此配置与clone_normal_priority_delay_second若小于clone_checker_interval_second将不起作用。

clone_max_job_num

  • 默认值:100

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:低优先级克隆作业的并发数。 高优先级克隆作业的并发性目前是无限的。

clone_job_timeout_second

  • 默认值:7200

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:单个克隆作业的默认超时时间。单位:秒。设置足够长以适合您的副本大小。副本数据越大,完成克隆所需的时间就越多。

clone_checker_interval_second

  • 默认值:300(5分钟)

  • 说明:克隆检查器的运行间隔。

tablet_delete_timeout_second

  • 默认值:2

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:与tablet_create_timeout_second含义相同,但在删除tablet时使用。

async_loading_load_task_pool_size

  • 默认值:10

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:loading_load任务执行程序池大小。该池大小限制了正在运行的最大loading_load任务数。当前仅限制broker load的loading_load任务的数量。

async_pending_load_task_pool_size

  • 默认值:10

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:pending_load任务执行程序池大小。 该池大小限制了正在运行的最大pending_load任务数。当前,它仅限制broker load和spark load的pending_load任务的数量,应该小于max_running_txn_num_per_db的值。

async_load_task_pool_size

  • 默认值:10

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:此配置只是为了兼容旧版本,此配置已被async_loading_load_task_pool_size取代,以后会被移除。

disable_show_stream_load

  • 默认值:false

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:是否禁用显示stream load并清除内存中的stream load记录。

max_stream_load_record_size

  • 默认值:5000

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:可以存储在内存中的最近stream load记录的默认最大数量。

fetch_stream_load_record_interval_second

  • 默认值:120

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:获取stream load记录间隔。

desired_max_waiting_jobs

  • 默认值:100

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:routine load V2版本加载的默认等待作业数。在某些情况下,例如切换 master,当前数量可能超过desired_max_waiting_jobs。

yarn_config_dir

  • 默认值:PaloFe.DORIS_HOME_DIR + "/lib/yarn-config"

  • 说明:默认的Yarn配置文件目录每次运行Yarn命令之前,您需要检查一下这个路径下是否存在config文件,如果不存在,则创建它们。

yarn_client_path

  • 默认值:PaloFe.DORIS_HOME_DIR + "/lib/yarn-client/hadoop/bin/yarn"

  • 说明:默认Yarn客户端路径。

spark_launcher_log_dir

  • 默认值:sys_log_dir + "/spark_launcher_log"

  • 说明:指定的Spark启动器日志目录。

spark_resource_path

说明:默认的Spark依赖路径。

spark_home_default_dir

  • 默认值:PaloFe.DORIS_HOME_DIR + "/lib/spark2x"

  • 说明:默认的Spark home路径。

spark_load_default_timeout_second

  • 默认值:86400

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:默认的Spark加载超时时间。单位:秒。

spark_dpp_version

  • 默认值:1.0.0

  • 说明:Spark的默认版本号。

hadoop_load_default_timeout_second

  • 默认值:86400 * 3

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:Hadoop的加载超时时间。单位:秒。

min_load_timeout_second

  • 默认值:1

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:mini load超时时间,适用于所有类型的加载。单位:秒。

max_stream_load_timeout_second

  • 默认值:259200

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:stream load和mini load最大超时时间。单位:秒。

max_load_timeout_second

  • 默认值:259200

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:Load最大超时时间,适用于除stream load之外的所有类型的加载。单位:秒。

stream_load_default_timeout_second

  • 默认值:600

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:默认stream load和mini load超时时间。单位:秒。

insert_load_default_timeout_second

  • 默认值:3600

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:默认insert load超时时间。单位:秒。

mini_load_default_timeout_second

  • 默认值:3600

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:默认非stream load类型的mini load的超时时间。

broker_load_default_timeout_second

  • 默认值:14400

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:Broker load的默认超时时间。单位:秒。

broker_timeout_ms

  • 默认值:10000

  • 说明:Broker rpc的默认超时时间。单位:ms。

load_running_job_num_limit

  • 默认值:0

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:Load任务数量限制,默认为0,无限制。

load_input_size_limit_gb

  • 默认值:0

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:Load作业输入的数据大小,默认为0,无限制。

delete_thread_num

  • 默认值:10

  • 说明:删除作业的并发线程数。

load_etl_thread_num_normal_priority

  • 默认值:10

  • 说明:NORMAL优先级etl加载作业的并发数。

load_etl_thread_num_high_priority

  • 默认值:3

  • 说明:高优先级etl加载作业的并发数。

load_pending_thread_num_normal_priority

  • 默认值:10

  • 说明:NORMAL优先级挂起加载作业的并发数。

load_pending_thread_num_high_priority

  • 默认值:3

  • 说明:高优先级挂起加载作业的并发数。 加载作业优先级定义为HIGH或NORMAL。 所有小批量加载作业都是HIGH优先级,其他类型的加载作业是NORMAL优先级。设置优先级是为了避免慢加载作业长时间占用线程。 这只是内部优化的调度策略。 目前,您无法手动指定作业优先级。

load_checker_interval_second

  • 默认值:5

  • 负载调度器运行间隔。 单位:秒。加载作业将其状态从PENDING转移到LOADING到FINISHED。加载调度程序将加载作业从PENDING转移到LOADING而txn回调会将加载作业从LOADING转移到FINISHED。因此,当并发未达到上限时,加载作业最多需要一个时间间隔才能完成。

max_layout_length_per_row

  • 默认值:100000

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:一行的最大内存布局长度。 默认为100 KB。 在BE中,RowBlock的最大大小为100 MB(在 be.conf 中配置为 max_unpacked_row_block_size)。每个RowBlock包含1024行。因此一行的最大大小约为100 KB。例如:schema:k1(int), v1(decimal), v2(varchar(2000)) ,那么一行的内存布局长度为:4(int) + 16(decimal) + 2000(varchar) = 2020 (Bytes)。查看所有类型的内存布局长度,在mysql-client中运行help create table。如果要增加此数字以支持一行中的更多列,则还需要增加be.conf中的max_unpacked_row_block_size,但性能影响未知。

load_straggler_wait_second

  • 默认值:300

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:负载中落后节点的最大等待秒数。例如:有3个副本A、B、C load已经在t1时仲裁完成(A,B)并且C没有完成,如果(current_time-t1)> 300s,那么doris会将C视为故障节点,将调用事务管理器提交事务并告诉事务管理器C失败。此配置项也适用于等待发布任务时。此参数是所有作业的默认值,DBA可以为单独的作业指定它。

thrift_server_type

该配置表示FE的Thrift服务使用的服务模型,类型为String, 大小写不敏感。

  • 若该参数为SIMPLE,则使用TSimpleServer模型, 该模型一般不适用于生产环境,仅限于测试使用。

  • 若该参数为THREADED,则使用TThreadedSelectorServer 模型,该模型为非阻塞式I/O模型,即主从Reactor模型,该模型能及时响应大量的并发连接请求,在多数场景下有较好的表现。

  • 若该参数为THREAD_POOL,则使用TThreadPoolServer 模型,该模型为阻塞式I/O模型,使用线程池处理连接,并发连接数受限于线程池的数量,如果能提前预估并发请求的数量,并且能容忍足够多的线程资源开销,该模型会有较好的性能表现,默认使用该服务模型。

thrift_server_max_worker_threads

  • 默认值:4096

  • 说明:Thrift Server最大工作线程数。

publish_version_interval_ms

  • 默认值:10

  • 说明:两个发布版本操作之间的最小间隔。单位:ms

publish_version_timeout_second

  • 默认值:30

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:一个事务的所有发布版本任务完成的最大等待时间。

max_create_table_timeout_second

  • 默认值:60

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:为了在创建表(索引)不等待太久,设置一个最大超时时间。单位:秒。

tablet_create_timeout_second

  • 默认值:1

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:创建单个副本的最长等待时间。单位:秒。例如:如果您为每个表创建一个包含m个tablet和n个副本的表, 创建表请求将在超时前最多运行m n tablet_create_timeout_second。

max_mysql_service_task_threads_num

  • 默认值:4096

  • 说明:MySQL中处理任务的最大线程数。

cluster_id

  • 默认值:-1

  • 说明:如果节点(FE或BE)具有相同的集群Id,则将认为它们属于同一个Doris集群。Cluster ID通常是主FE首次启动时生成的随机整数。 您也可以指定一个。

auth_token

用于内部身份验证的集群令牌。

cluster_name

  • 默认值:Apache doris

  • 说明:集群名称,将显示为网页标题。

mysql_service_io_threads_num

  • 默认值:4

  • 说明:MySQL中处理io事件的线程数。

mysql_service_nio_enabled

  • 默认值:true

  • 说明:MySQL服务nio选项是否启用,默认启用。

query_port

  • 默认值:9030

  • 说明:Doris FE通过MySQL协议查询连接端口。

rewrite_count_distinct_to_bitmap_hll

  • 默认值:true

  • 类型:Boolean

  • 说明:该变量为session variable,session级别生效。仅对于AGG模型的表来说,当变量为true时且查询时包含count(distinct c1) 这类聚合函数时,如果c1列本身类型为bitmap,则count distnct会改写为bitmap_union_count(c1)。 当c1列本身类型为hll,则count distinct会改写为hll_union_agg(c1) ,如果变量为false,则不发生任何改写。

rpc_port

  • 默认值:9020

  • 说明:FE Thrift Server的端口。

thrift_backlog_num

  • 默认值:1024

  • 说明:Thrift服务器的backlog_num。当您扩大这个backlog_num时,您应该确保它的值大于linux /proc/sys/net/core/somaxconn的配置。

thrift_client_timeout_ms

  • 默认值:0

  • 说明:Thrift服务器的连接超时和套接字超时配置thrift_client_timeout_ms的默认值设置为零以防止读取超时。

mysql_nio_backlog_num

  • 默认值:1024

  • 说明:MySQL Nio Server 的backlog_num。当放大这个backlog_num时,应该同时放大linux /proc/sys/net/core/somaxconn文件中的值。

http_backlog_num

  • 默认值:1024

  • 说明:Netty Http Server的backlog_num。当放大这个backlog_num时,应该同时放大linux /proc/sys/net/core/somaxconn文件中的值。

http_max_line_length

  • 默认值:4096

  • 说明:HTTP服务允许接收请求的URL的最大长度,单位:比特。

http_max_header_size

  • 默认值:8192

  • HTTP服务允许接收请求的Header的最大长度,单位:比特。

http_max_chunk_size

  • 默认值:8192

  • Http上下文chunk块的最大尺寸。

http_port

  • 默认值:8030

  • FE的HTTP端口,当前所有FE HTTP端口都必须相同。

max_bdbje_clock_delta_ms

  • 默认值:5000

  • 设置非主FE到主FE主机之间的最大可接受时钟偏差。单位:ms。每当非主FE通过BDBJE建立到主FE的连接时,都会检查该值。如果时钟偏差大于此值,则放弃连接。

ignore_meta_check

  • 默认值:false

  • 是否可以动态配置:true

  • 说明:如果为true,非主FE将忽略主FE与其自身之间的元数据延迟间隙,即使元数据延迟间隙超过meta_delay_toleration_second。非主 FE仍将提供读取服务。当您出于某种原因尝试停止Master FE较长时间,但仍希望非Master FE可以提供读取服务时,这会很有帮助。

metadata_failure_recovery

  • 默认值:false

  • 说明:如果为true,FE将重置bdbje复制组(即删除所有可选节点信息)并应该作为Master启动。如果所有可选节点都无法启动,您可以将元数据复制到另一个节点并将此配置设置为true以尝试重新启动FE。

priority_networks

为一些有很多IP的服务器声明一个选择策略。 请注意,最多应该有一个IP与此列表匹配。 这是一个以分号分隔格式的列表,用CIDR表示法,例如:10.10.10.0/24。 如果没有匹配这条规则的IP,会随机选择一个。

txn_rollback_limit

  • 默认值:100

  • 说明:尝试重新加入组时bdbje可以回滚的最大txn数。

max_agent_task_threads_num

  • 默认值:4096

  • 是否为Master FE节点独有的配置项:true

  • 说明:代理任务线程池中处理代理任务的最大线程数。

heartbeat_mgr_blocking_queue_size

  • 默认值:1024

  • 是否为Master FE节点独有的配置项:true

  • 说明:在heartbeat_mgr中存储心跳任务的阻塞队列大小。

heartbeat_mgr_threads_num

  • 默认值:8

  • 是否为Master FE节点独有的配置项:true

  • 说明:heartbeat _mgr 中处理心跳事件的线程数。

bdbje_replica_ack_timeout_second

  • 默认值:10

  • 说明:元数据会同步写入到多个Follower FE,这个参数用于控制Master FE等待Follower FE发送ack的超时时间。当写入的数据较大时,可能ack时间较长,如果超时,会导致写元数据失败,FE进程退出。此时可以适当调大这个参数。

bdbje_lock_timeout_second

  • 默认值:1

  • bdbje操作的lock timeout。如果FE WARN日志中有很多LockTimeoutException,可以尝试增加这个值。

bdbje_heartbeat_timeout_second

  • 默认值:30

  • master和follower之间bdbje的心跳超时。 默认为30秒,与bdbje中的默认值相同。如果网络遇到暂时性问题,您可以尝试增加此值以减少错误超时的机会。

replica_ack_policy

replica_sync_policy

  • 默认值:SYNC

  • 说明:包括SYNC、NO_SYNC、WRITE_NO_SYNC。bdbje的Follower FE同步策略。

master_sync_policy

  • 默认值:SYNC

  • 说明:包括SYNC、NO_SYNC、WRITE_NO_SYNC。Master FE的bdbje同步策略。 如果您只部署一个Follower FE,请将其设置为“SYNC”。 如果你部署了超过3个Follower FE,您可以将这个和下面的replica_sync_policy设置为WRITE_NO_SYNC。更多信息,请参见Enum Durability.SyncPolicy

meta_delay_toleration_second

  • 默认值:300

  • 说明:如果元数据延迟间隔超过meta_delay_toleration_second,非主FE将停止提供服务。单位:秒。

edit_log_roll_num

  • 默认值:50000

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:Master FE将保存每个edit_log_roll_num日志。

edit_log_port

  • 默认值:9010

  • 说明:Bdbje端口。

edit_log_type

  • 默认值:BDB

  • 说明:编辑日志类型。

    • BDB:将日志写入bdbje。

    • LOCAL:已弃用。

tmp_dir

  • 默认值:PaloFe.DORIS_HOME_DIR + "/temp_dir"

  • 说明:temp dir用于保存某些过程的中间结果,例如备份和恢复过程。这些过程完成后,将清除此目录中的文件。

meta_dir

  • 默认值:PaloFe.DORIS_HOME_DIR + "/doris-meta"

  • 说明:Doris元数据将保存在这里。 强烈建议将此目录的存储为:

    • 高写入性能(SSD)

    • 安全(RAID)

custom_config_dir

  • 默认值:PaloFe.DORIS_HOME_DIR + "/conf"

  • 说明:自定义配置文件目录。配置fe_custom.conf文件的位置。默认为conf/目录下。在某些部署环境下,conf/目录可能因为系统的版本升级被覆盖掉。这会导致在运行时持久化修改的配置项也被覆盖。这时,我们可以将fe_custom.conf存储在另一个指定的目录中,以防止配置文件被覆盖。

log_roll_size_mb

  • 默认值:1024

  • 说明:一个系统日志和审计日志的最大大小。单位:MB。

sys_log_dir

  • 默认值:PaloFe.DORIS_HOME_DIR + "/log"

  • 说明:sys_log_dir指定了FE日志目录。FE将产生2个日志文件:

    • fe.log:FE进程的所有日志。

    • fe.warn.log:FE进程的所有警告和错误日志。

sys_log_level

  • 默认值:INFO

  • 说明:日志级别。包括INFO、WARNING、ERROR、FATAL。

sys_log_roll_num

  • 默认值:10

  • 说明:要保存在sys_log_roll_interval内的最大FE日志文件。 默认为10,表示一天最多有10个日志文件。

sys_log_verbose_modules

详细模块。VERBOSE级别由log4j DEBUG级别实现。例如:sys_log_verbose_modules = org.apache.doris.catalog。这只会打印包org.apache.doris.catalog及其所有子包中文件的调试日志。

sys_log_roll_interval

  • 默认值:DAY

  • 取值如下:

    • DAY: log前缀是yyyyMMdd。

    • HOUR: log前缀是yyyyMMddHH。

sys_log_delete_age

  • 默认值:7

  • 说明:默认为7天,如果日志的最后修改时间为7天前,则将其删除。支持格式:

    • 7d: 7 天

    • 10h: 10 小时

    • 60m: 60 分钟

    • 120s: 120 秒

audit_log_dir

  • 默认值:PaloFe.DORIS_HOME_DIR + "/log"

  • 说明:审计日志目录。指定了FE审计日志目录。审计日志fe.audit.log包含所有请求以及相关信息,例如user、host、cost、status等。

audit_log_roll_num

  • 默认值:90

  • 说明:保留在audit_log_roll_interval内的最大FE审计日志文件。

audit_log_modules

  • 默认值:{"slow_query", "query", "load", "stream_load"}

  • 说明:慢查询包含所有开销超过qe_slow_log_ms的查询。

qe_slow_log_ms

  • 默认值:5000

  • 说明:如果查询的响应时间超过此阈值,则会在审计日志中记录为slow_query。audit_log_roll_interval。单位:ms。

audit_log_roll_interval

  • 默认值:DAY

  • 取值说明如下:

    • DAY: log前缀是:yyyyMMdd

    • HOUR: log前缀是:yyyyMMddHH

audit_log_delete_age

  • 默认值:30

  • 说明:默认为30天,如果日志的最后修改时间为30天前,则将其删除。支持格式:

    • 7d: 7 天

    • 10h: 10 小时

    • 60m: 60 分钟

    • 120s: 120 秒

plugin_dir

  • 默认值:DORIS_HOME + "/plugins

  • 说明:插件安装目录。

plugin_enable

  • 默认值:true

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:插件是否启用,默认启用。

label_keep_max_second

  • 默认值:3*24*3600(3天)

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:label_keep_max_second将删除已完成或取消的加载作业的标签。

    说明
    • 去除的标签可以重复使用。

    • 设置较短的时间会降低FE内存使用量(因为所有加载作业的信息在被删除之前都保存在内存中),在高并发写的情况下,如果出现大量作业积压,出现call frontend service failed的情况,查看日志如果是元数据写占用锁的时间太长,可以将这个值调成12小时,或者6小时。

streaming_label_keep_max_second

  • 默认值:43200 (12小时)

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:适用一些高频负载工作。例如:INSERT、STREAMING LOAD、ROUTINE_LOAD_TASK 。 如果过期,则删除已完成的作业或任务。

history_job_keep_max_second

  • 默认值:7*24*3600 (7天)

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:某些作业的最大保留时间。例如schema更改和Rollup作业。

label_clean_interval_second

  • 默认值:4*3600 (4小时)

  • 说明:load标签清理器将每隔label_clean_interval_second运行一次以清理过时的作业。

delete_info_keep_max_second

  • 默认值:3*24*3600

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:false

  • 说明:删除元数据中创建时间大于delete_info_keep_max_second的delete信息。单位:秒。设置较短的时间将减少FE内存使用量和镜像文件大小。(因为所有的deleteInfo在被删除之前都存储在内存和镜像文件中)

transaction_clean_interval_second

  • 默认值:30

  • 说明:如果事务visible或者aborted状态,事务将在transaction_clean_interval_second秒后被清除 ,我们应该让这个间隔尽可能短,加速清洁周期。

default_max_query_instances

  • 默认值:-1

  • 说明:属性max_query_instances小于等于0时,使用该配置。用来限制单个使用者同一时刻可使用的查询instance个数。该参数小于等于0表示无限制。

use_compact_thrift_rpc

  • 默认值:true

  • 说明:是否使用压缩格式发送查询计划结构体。开启后,可以降低约50%的查询计划结构体大小,从而避免一些 "send fragment timeout" 错误。 但是在某些高并发小查询场景下,可能会降低约10%的并发度。

disable_tablet_scheduler

  • 默认值:false

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:如果设置为true,将关闭副本修复和均衡逻辑。

enable_force_drop_redundant_replica

  • 默认值:false

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:如果设置为 true,系统会在副本调度逻辑中,立即删除冗余副本。这可能导致部分正在对对应副本写入的导入作业失败,但是会加速副本的均衡和修复速度。 当集群中有大量等待被均衡或修复的副本时,可以尝试设置此参数,以牺牲部分导入成功率为代价,加速副本的均衡和修复。

repair_slow_replica

  • 默认值:false

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:如果设置为 true,会自动检测compaction比较慢的副本,并将迁移到其他机器,检测条件是最慢副本的版本计数超过 min_version_count_indicate_replica_compaction_too_slow的值, 且与最快副本的版本计数差异所占比例超过 valid_version_count_delta_ratio_between_replicas的值。

colocate_group_relocate_delay_second

  • 默认值:1800

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:重分布一个Colocation Group可能涉及大量的tablet迁移。因此,我们需要一个更保守的策略来避免不必要的Colocation重分布。 重分布通常发生在 Doris 检测到有 BE 节点宕机后。这个参数用于推迟对BE宕机的判断。如默认参数下,如果BE节点能够在 1800 秒内恢复,则不会触发Colocation重分布。

allow_replica_on_same_host

  • 默认值:false

  • 是否可以动态配置:false

  • 是否为Master FE节点独有的配置项:false

  • 说明:是否允许同一个 tablet 的多个副本分布在同一个 host 上。这个参数主要用于本地测试时,方便搭建多个BE以测试某些多副本情况,请不要用于非测试环境。

min_version_count_indicate_replica_compaction_too_slow

  • 默认值:200

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:false

  • 说明:版本计数阈值,用来判断副本做compaction的速度是否太慢。

valid_version_count_delta_ratio_between_replicas

  • 默认值:0.5

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:最慢副本的版本计数与最快副本的差异有效比率阈值,如果设置repair_slow_replica为true,则用于判断是否修复最慢的副本。

min_bytes_indicate_replica_too_large

  • 默认值:2 * 1024 * 1024 * 1024(2G)

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:数据大小阈值,用来判断副本的数据量是否过大。

skip_compaction_slower_replica

  • 默认值:true

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:false

  • 说明:如果设置为true,则在选择可查询副本时,将跳过compaction较慢的副本。

sync_commit_interval_second

  • 默认值:10

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:提交事务的最大时间间隔。单位:秒。若超过了这个时间channel中还有数据没有提交,consumer会通知channel提交事务。

min_sync_commit_size

  • 默认值:10000

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:提交事务需满足的最小event数量。若FE接收到的event数量小于它,会继续等待下一批数据直到时间超过了sync_commit_interval_second为止。默认值是10000个events,如果您想修改此配置,请确保此值小于canal端的canal.instance.memory.buffer.size配置(默认16384),否则在ACK前FE会尝试获取比store队列长度更多的event,导致store队列阻塞至超时为止。

min_bytes_sync_commit

  • 默认值:15 * 1024 * 1024(15 MB)

  • 是否可以动态配置:true

  • 是否为Master FE节点独有的配置项:true

  • 说明:提交事务需满足的最小数据大小。若FE接收到的数据大小小于它,会继续等待下一批数据直到时间超过了sync_commit_interval_second为止。默认值为15 MB,如果您想修改此配置,请确保此值小于canal端的canal.instance.memory.buffer.size和canal.instance.memory.buffer.memunit的乘积(默认16 MB),否则在ACK前FE会尝试获取比store空间更大的数据,导致store队列阻塞至超时为止。

max_bytes_sync_commit

  • 默认值:10

  • 是否可以动态配置:false

  • 是否为Master FE节点独有的配置项:false

  • 说明:数据同步作业线程池中的最大线程数量。此线程池整个FE中只有一个,用于处理FE中所有数据同步作业向BE发送数据的任务task,线程池的实现在SyncTaskPool类。

backend_rpc_timeout_ms

  • 默认值:60000

  • 是否可以动态配置:false

  • 是否为Master FE节点独有的配置项:true

  • 说明:FE向BE的BackendService发送rpc请求时的超时时间,单位:ms。