参考

公共配置参数

IoTDB ConfigNode 和 DataNode 的公共配置参数位于 conf 目录下。

  • iotdb-common.properties:IoTDB 集群的公共配置。

改后生效方式

不同的配置参数有不同的生效方式,分为以下三种:

  • 仅允许在第一次启动服务前修改: 在第一次启动 ConfigNode/DataNode 后即禁止修改,修改会导致 ConfigNode/DataNode 无法启动。
  • 重启服务生效: ConfigNode/DataNode 启动后仍可修改,但需要重启 ConfigNode/DataNode 后才生效。
  • 热加载: 可在 ConfigNode/DataNode 运行时修改,修改后通过 Session 或 Cli 发送 load configuration 命令(SQL)至 IoTDB 使配置生效。

系统配置项

副本配置

  • config_node_consensus_protocol_class
名字config_node_consensus_protocol_class
描述ConfigNode 副本的共识协议,仅支持 RatisConsensus
类型String
默认值org.apache.iotdb.consensus.ratis.RatisConsensus
改后生效方式仅允许在第一次启动服务前修改
  • schema_replication_factor
名字schema_replication_factor
描述Database 的默认元数据副本数
类型int32
默认值1
改后生效方式重启服务后对新的 Database 生效
  • schema_region_consensus_protocol_class
名字schema_region_consensus_protocol_class
描述元数据副本的共识协议,1 副本时可以使用 SimpleConsensus 协议,多副本时只能使用 RatisConsensus
类型String
默认值org.apache.iotdb.consensus.ratis.RatisConsensus
改后生效方式仅允许在第一次启动服务前修改
  • data_replication_factor
名字data_replication_factor
描述Database 的默认数据副本数
类型int32
默认值1
改后生效方式重启服务后对新的 Database 生效
  • data_region_consensus_protocol_class
名字data_region_consensus_protocol_class
描述数据副本的共识协议,1 副本时可以使用 SimpleConsensus 协议,多副本时可以使用 IoTConsensus 或 RatisConsensus
类型String
默认值org.apache.iotdb.consensus.iot.IoTConsensus
改后生效方式仅允许在第一次启动服务前修改

负载均衡配置

  • series_partition_slot_num
名字series_slot_num
描述序列分区槽数
类型int32
默认值10000
改后生效方式仅允许在第一次启动服务前修改
  • series_partition_executor_class
名字series_partition_executor_class
描述序列分区哈希函数
类型String
默认值org.apache.iotdb.commons.partition.executor.hash.BKDRHashExecutor
改后生效方式仅允许在第一次启动服务前修改
  • schema_region_group_extension_policy
名字schema_region_group_extension_policy
描述SchemaRegionGroup 的扩容策略
类型string
默认值AUTO
改后生效方式重启服务生效
  • default_schema_region_group_num_per_database
名字default_schema_region_group_num_per_database
描述当选用 CUSTOM-SchemaRegionGroup 扩容策略时,此参数为每个 Database 拥有的 SchemaRegionGroup 数量;当选用 AUTO-SchemaRegionGroup 扩容策略时,此参数为每个 Database 最少拥有的 SchemaRegionGroup 数量
类型int
默认值1
改后生效方式重启服务生效
  • schema_region_per_data_node
名字schema_region_per_data_node
描述期望每个 DataNode 可管理的 SchemaRegion 的最大数量
类型double
默认值与 schema_replication_factor 相同
改后生效方式重启服务生效
  • data_region_group_extension_policy
名字data_region_group_extension_policy
描述DataRegionGroup 的扩容策略
类型string
默认值AUTO
改后生效方式重启服务生效
  • default_data_region_group_num_per_database
名字data_region_group_per_database
描述当选用 CUSTOM-DataRegionGroup 扩容策略时,此参数为每个 Database 拥有的 DataRegionGroup 数量;当选用 AUTO-DataRegionGroup 扩容策略时,此参数为每个 Database 最少拥有的 DataRegionGroup 数量
类型int
默认值2
改后生效方式重启服务生效
  • data_region_per_processor
名字data_region_per_processor
描述期望每个处理器可管理的 DataRegion 的最大数量
类型double
默认值1.0
改后生效方式重启服务生效
  • enable_data_partition_inherit_policy
名字enable_data_partition_inherit_policy
描述开启 DataPartition 继承策略后,同一个序列分区槽内的 DataPartition 会继承之前时间分区槽的分配结果
类型Boolean
默认值false
改后生效方式重启服务生效
  • leader_distribution_policy
名字leader_distribution_policy
描述集群 RegionGroup 的 leader 分配策略
类型String
默认值MIN_COST_FLOW
改后生效方式重启服务生效
  • enable_auto_leader_balance_for_ratis_consensus
名字enable_auto_leader_balance_for_ratis_consensus
描述是否为 Ratis 共识协议开启自动均衡 leader 策略
类型Boolean
默认值false
改后生效方式重启服务生效
  • enable_auto_leader_balance_for_iot_consensus
名字enable_auto_leader_balance_for_iot_consensus
描述是否为 IoT 共识协议开启自动均衡 leader 策略
类型Boolean
默认值true
改后生效方式重启服务生效

集群管理

  • time_partition_interval
名字time_partition_interval
描述Database 默认的数据时间分区间隔
类型Long
单位毫秒
默认值604800000
改后生效方式仅允许在第一次启动服务前修改
  • heartbeat_interval_in_ms
名字heartbeat_interval_in_ms
描述集群节点间的心跳间隔
类型Long
单位ms
默认值1000
改后生效方式重启服务生效
  • disk_space_warning_threshold
名字disk_space_warning_threshold
描述DataNode 磁盘剩余阈值
类型double(percentage)
默认值0.05
改后生效方式重启服务生效

内存控制配置

  • enable_mem_control
名字enable_mem_control
描述开启内存控制,避免爆内存
类型Boolean
默认值true
改后生效方式重启服务生效
  • storage_query_schema_consensus_free_memory_proportion
名字storage_query_schema_consensus_free_memory_proportion
描述存储,查询,元数据,共识层,空闲内存比例
类型Ratio
默认值3:3:1:1:2
改后生效方式重启服务生效
  • schema_memory_allocate_proportion
名字schema_memory_allocate_proportion
描述SchemaRegion, SchemaCache,PartitionCache,LastCache 占元数据内存比例
类型Ratio
默认值5:3:1:1
改后生效方式重启服务生效
  • storage_engine_memory_proportion
名字storage_engine_memory_proportion
描述写入和合并占存储内存比例
类型Ratio
默认值8:2
改后生效方式重启服务生效
  • write_memory_proportion
名字write_memory_proportion
描述Memtable 和 TimePartitionInfo 占写入内存比例
类型Ratio
默认值19:1
改后生效方式重启服务生效
  • concurrent_writing_time_partition
名字concurrent_writing_time_partition
描述最大可同时写入的时间分区个数,默认1个分区, enable_mem_control=false 时有效
类型Int64
默认值1
改后生效方式重启服务生效
  • primitive_array_size
名字primitive_array_size
描述数组池中的原始数组大小(每个数组的长度)
类型int32
默认值64
改后生效方式重启服务生效
  • flush_proportion
名字flush_proportion
描述调用flush disk的写入内存比例,默认0.4,若有极高的写入负载力(比如batch=1000),可以设置为低于默认值,比如0.2
类型Double
默认值0.4
改后生效方式重启服务生效
  • buffered_arrays_memory_proportion
名字buffered_arrays_memory_proportion
描述为缓冲数组分配的写入内存比例,默认为0.6
类型Double
默认值0.6
改后生效方式重启服务生效
  • reject_proportion
名字reject_proportion
描述拒绝插入的写入内存比例,默认0.8,若有极高的写入负载力(比如batch=1000)并且物理内存足够大,它可以设置为高于默认值,如0.9
类型Double
默认值0.8
改后生效方式重启服务生效
  • write_memory_variation_report_proportion
名字write_memory_variation_report_proportion
描述如果 DataRegion 的内存增加超过写入可用内存的一定比例,则向系统报告。默认值为0.001
类型Double
默认值0.001
改后生效方式重启服务生效
  • check_period_when_insert_blocked
名字check_period_when_insert_blocked
描述当插入被拒绝时,等待时间(以毫秒为单位)去再次检查系统,默认为50。若插入被拒绝,读取负载低,可以设置大一些。
类型int32
默认值50
改后生效方式重启服务生效
  • io_task_queue_size_for_flushing
名字io_task_queue_size_for_flushing
描述ioTaskQueue 的大小。默认值为10。
类型int32
默认值10
改后生效方式重启服务生效
  • enable_query_memory_estimation
名字enable_query_memory_estimation
描述开启后会预估每次查询的内存使用量,如果超过可用内存,会拒绝本次查询
类型bool
默认值true
改后生效方式热加载
  • partition_cache_size
名字partition_cache_size
描述分区信息缓存的最大缓存条目数。
类型Int32
默认值1000
改后生效方式重启服务生效

元数据引擎配置

  • schema_engine_mode
名字schema_engine_mode
描述元数据引擎的运行模式,支持 Memory 和 PBTree;PBTree 模式下支持将内存中暂时不用的序列元数据实时置换到磁盘上,需要使用时再加载进内存;此参数在集群中所有的 DataNode 上务必保持相同。
类型string
默认值Memory
改后生效方式仅允许在第一次启动服务前修改
  • mlog_buffer_size
名字mlog_buffer_size
描述mlog 的 buffer 大小
类型int32
默认值1048576
改后生效方式热加载
  • sync_mlog_period_in_ms
名字sync_mlog_period_in_ms
描述mlog定期刷新到磁盘的周期,单位毫秒。如果该参数为0,则表示每次对元数据的更新操作都会被立即写到磁盘上。
类型Int64
默认值100
改后生效方式重启服务生效
  • tag_attribute_total_size
名字tag_attribute_total_size
描述每个时间序列标签和属性的最大持久化字节数
类型int32
默认值700
改后生效方式仅允许在第一次启动服务前修改
  • tag_attribute_flush_interval
名字tag_attribute_flush_interval
描述标签和属性记录的间隔数,达到此记录数量时将强制刷盘
类型int32
默认值1000
改后生效方式仅允许在第一次启动服务前修改
  • schema_region_device_node_cache_size
名字schema_region_device_node_cache_size
描述schemaRegion中用于加速device节点访问所设置的device节点缓存的大小
类型Int32
默认值10000
改后生效方式重启服务生效
  • max_measurement_num_of_internal_request
名字max_measurement_num_of_internal_request
描述一次注册序列请求中若物理量过多,在系统内部执行时将被拆分为若干个轻量级的子请求,每个子请求中的物理量数目不超过此参数设置的最大值。
类型Int32
默认值10000
改后生效方式重启服务生效

数据类型自动推断

  • enable_auto_create_schema
名字enable_auto_create_schema
描述当写入的序列不存在时,是否自动创建序列
取值true or false
默认值true
改后生效方式重启服务生效
  • default_storage_group_level
名字default_storage_group_level
描述当写入的数据不存在且自动创建序列时,若需要创建相应的 database,将序列路径的哪一层当做 database。例如,如果我们接到一个新序列 root.sg0.d1.s2, 并且 level=1, 那么 root.sg0 被视为database(因为 root 是 level 0 层)
取值int32
默认值1
改后生效方式重启服务生效
  • boolean_string_infer_type
名字boolean_string_infer_type
描述“true” 或者 “false” 字符串被推断的数据类型
取值BOOLEAN 或者 TEXT
默认值BOOLEAN
改后生效方式重启服务生效
  • integer_string_infer_type
名字integer_string_infer_type
描述整型字符串推断的数据类型
取值INT32, INT64, FLOAT, DOUBLE, TEXT
默认值FLOAT
改后生效方式重启服务生效
  • long_string_infer_type
名字long_string_infer_type
描述大于 2 ^ 24 的整形字符串被推断的数据类型
取值DOUBLE, FLOAT or TEXT
默认值DOUBLE
改后生效方式重启服务生效
  • floating_string_infer_type
名字floating_string_infer_type
描述“6.7”等字符串被推断的数据类型
取值DOUBLE, FLOAT or TEXT
默认值FLOAT
改后生效方式重启服务生效
  • nan_string_infer_type
名字nan_string_infer_type
描述“NaN” 字符串被推断的数据类型
取值DOUBLE, FLOAT or TEXT
默认值DOUBLE
改后生效方式重启服务生效
  • default_boolean_encoding
名字default_boolean_encoding
描述BOOLEAN 类型编码格式
取值PLAIN, RLE
默认值RLE
改后生效方式重启服务生效
  • default_int32_encoding
名字default_int32_encoding
描述int32 类型编码格式
取值PLAIN, RLE, TS_2DIFF, REGULAR, GORILLA
默认值RLE
改后生效方式重启服务生效
  • default_int64_encoding
名字default_int64_encoding
描述int64 类型编码格式
取值PLAIN, RLE, TS_2DIFF, REGULAR, GORILLA
默认值RLE
改后生效方式重启服务生效
  • default_float_encoding
名字default_float_encoding
描述float 类型编码格式
取值PLAIN, RLE, TS_2DIFF, GORILLA
默认值GORILLA
改后生效方式重启服务生效
  • default_double_encoding
名字default_double_encoding
描述double 类型编码格式
取值PLAIN, RLE, TS_2DIFF, GORILLA
默认值GORILLA
改后生效方式重启服务生效
  • default_text_encoding
名字default_text_encoding
描述text 类型编码格式
取值PLAIN
默认值PLAIN
改后生效方式重启服务生效

查询配置

  • read_consistency_level
名字read_consistency_level
描述查询一致性等级,取值 “strong” 时从 Leader 副本查询,取值 “weak” 时随机查询一个副本。
类型String
默认值strong
改后生效方式重启服务生效
  • meta_data_cache_enable
名字meta_data_cache_enable
描述是否缓存元数据(包括 BloomFilter、Chunk Metadata 和 TimeSeries Metadata。)
类型Boolean
默认值true
改后生效方式重启服务生效
  • chunk_timeseriesmeta_free_memory_proportion
名字chunk_timeseriesmeta_free_memory_proportion
描述读取内存分配比例,BloomFilterCache、ChunkCache、TimeseriesMetadataCache、数据集查询的内存和可用内存的查询。参数形式为a : b : c : d : e,其中a、b、c、d、e为整数。 例如“1 : 1 : 1 : 1 : 1” ,“1 : 100 : 200 : 300 : 400” 。
类型String
默认值1 : 100 : 200 : 300 : 400
改后生效方式重启服务生效
  • enable_last_cache
名字enable_last_cache
描述是否开启最新点缓存
类型Boolean
默认值true
改后生效方式重启服务生效
  • mpp_data_exchange_core_pool_size
名字mpp_data_exchange_core_pool_size
描述MPP 数据交换线程池核心线程数
类型int32
默认值10
改后生效方式重启服务生效
  • mpp_data_exchange_max_pool_size
名字mpp_data_exchange_max_pool_size
描述MPP 数据交换线程池最大线程数
类型int32
默认值10
改后生效方式重启服务生效
  • mpp_data_exchange_keep_alive_time_in_ms
名字mpp_data_exchange_keep_alive_time_in_ms
描述MPP 数据交换最大等待时间
类型int32
默认值1000
改后生效方式重启服务生效
  • driver_task_execution_time_slice_in_ms
名字driver_task_execution_time_slice_in_ms
描述单个 DriverTask 最长执行时间
类型int32
默认值100
改后生效方式重启服务生效
  • max_tsblock_size_in_bytes
名字max_tsblock_size_in_bytes
描述单个 TsBlock 的最大容量
类型int32
默认值1024 * 1024 (1 MB)
改后生效方式重启服务生效
  • max_tsblock_line_numbers
名字max_tsblock_line_numbers
描述单个 TsBlock 的最大行数
类型int32
默认值1000
改后生效方式重启服务生效
  • slow_query_threshold
名字slow_query_threshold
描述慢查询的时间阈值。单位:毫秒。
类型Int32
默认值30000
改后生效方式热加载
  • query_timeout_threshold
名字query_timeout_threshold
描述查询的最大执行时间。单位:毫秒。
类型Int32
默认值60000
改后生效方式重启服务生效
  • max_allowed_concurrent_queries
名字max_allowed_concurrent_queries
描述允许的最大并发查询数量。
类型Int32
默认值1000
改后生效方式重启服务生效
  • query_thread_count
名字query_thread_count
描述当 IoTDB 对内存中的数据进行查询时,最多启动多少个线程来执行该操作。如果该值小于等于 0,那么采用机器所安装的 CPU 核的数量。
类型Int32
默认值CPU 核数
改后生效方式重启服务生效
  • batch_size
名字batch_size
描述服务器中每次迭代的数据量(数据条目,即不同时间戳的数量。)
类型Int32
默认值100000
改后生效方式重启服务生效

存储引擎配置

  • timestamp_precision
名字timestamp_precision
描述时间戳精度,支持 ms、us、ns
类型String
默认值ms
改后生效方式仅允许在第一次启动服务前修改
  • default_ttl_in_ms
名字default_ttl_in_ms
描述数据保留时间,会丢弃 now()-default_ttl 之前的数据,单位 ms
类型long
默认值36000000
改后生效方式重启服务生效
  • max_waiting_time_when_insert_blocked
名字max_waiting_time_when_insert_blocked
描述当插入请求等待超过这个时间,则抛出异常,单位 ms
类型Int32
默认值10000
改后生效方式重启服务生效
  • enable_discard_out_of_order_data
名字enable_discard_out_of_order_data
描述是否支持写入乱序数据
类型Boolean
默认值false
改后生效方式重启服务生效
  • handle_system_error
名字handle_system_error
描述当系统遇到不可恢复的错误时的处理方法
类型String
默认值CHANGE_TO_READ_ONLY
改后生效方式重启服务生效
  • memtable_size_threshold
名字memtable_size_threshold
描述内存缓冲区 memtable 阈值
类型Long
默认值1073741824
改后生效方式enable_mem_control 为 false 时生效、重启服务生效
  • enable_timed_flush_seq_memtable
名字enable_timed_flush_seq_memtable
描述是否开启定时刷盘顺序 memtable
类型Boolean
默认值true
改后生效方式热加载
  • seq_memtable_flush_interval_in_ms
名字seq_memtable_flush_interval_in_ms
描述当 memTable 的创建时间小于当前时间减去该值时,该 memtable 需要被刷盘
类型int32
默认值10800000
改后生效方式热加载
  • seq_memtable_flush_check_interval_in_ms
名字seq_memtable_flush_check_interval_in_ms
描述检查顺序 memtable 是否需要刷盘的时间间隔
类型int32
默认值600000
改后生效方式热加载
  • enable_timed_flush_unseq_memtable
名字enable_timed_flush_unseq_memtable
描述是否开启定时刷新乱序 memtable
类型Boolean
默认值true
改后生效方式热加载
  • unseq_memtable_flush_interval_in_ms
名字unseq_memtable_flush_interval_in_ms
描述当 memTable 的创建时间小于当前时间减去该值时,该 memtable 需要被刷盘
类型int32
默认值10800000
改后生效方式热加载
  • unseq_memtable_flush_check_interval_in_ms
名字unseq_memtable_flush_check_interval_in_ms
描述检查乱序 memtable 是否需要刷盘的时间间隔
类型int32
默认值600000
改后生效方式热加载
  • tvlist_sort_algorithm
名字tvlist_sort_algorithm
描述memtable中数据的排序方法
类型String
默认值TIM
改后生效方式重启服务生效
  • avg_series_point_number_threshold
名字avg_series_point_number_threshold
描述内存中平均每个时间序列点数最大值,达到触发 flush
类型int32
默认值100000
改后生效方式重启服务生效
  • flush_thread_count
名字flush_thread_count
描述当 IoTDB 将内存中的数据写入磁盘时,最多启动多少个线程来执行该操作。如果该值小于等于 0,那么采用机器所安装的 CPU 核的数量。默认值为 0。
类型int32
默认值0
改后生效方式重启服务生效
  • enable_partial_insert
名字enable_partial_insert
描述在一次 insert 请求中,如果部分测点写入失败,是否继续写入其他测点。
类型Boolean
默认值true
改后生效方式重启服务生效
  • recovery_log_interval_in_ms
名字recovery_log_interval_in_ms
描述data region的恢复过程中打印日志信息的间隔
类型Int32
默认值5000
改后生效方式重启服务生效
  • 0.13_data_insert_adapt
名字0.13_data_insert_adapt
描述如果 0.13 版本客户端进行写入,需要将此配置项设置为 true
类型Boolean
默认值false
改后生效方式重启服务生效
  • device_path_cache_size
名字device_path_cache_size
描述Device Path 缓存的最大数量,这个缓存可以避免写入过程中重复的 Device Path 对象创建
类型Int32
默认值500000
改后生效方式重启服务生效
  • insert_multi_tablet_enable_multithreading_column_threshold
名字insert_multi_tablet_enable_multithreading_column_threshold
描述插入时启用多线程插入列数的阈值
类型int32
默认值10
改后生效方式重启服务生效

合并配置

  • enable_seq_space_compaction
名字enable_seq_space_compaction
描述顺序空间内合并,开启顺序文件之间的合并
类型Boolean
默认值true
改后生效方式热加载
  • enable_unseq_space_compaction
名字enable_unseq_space_compaction
描述乱序空间内合并,开启乱序文件之间的合并
类型Boolean
默认值false
改后生效方式热加载
  • enable_cross_space_compaction
名字enable_cross_space_compaction
描述跨空间合并,开启将乱序文件合并到顺序文件中
类型Boolean
默认值true
改后生效方式热加载
  • cross_selector
名字cross_selector
描述跨空间合并任务选择器的类型
类型String
默认值rewrite
改后生效方式重启服务生效
  • cross_performer
名字cross_performer
描述跨空间合并任务执行器的类型,可选项是read_point和fast,默认是read_point,fast还在测试中
类型String
默认值read_point
改后生效方式重启服务生效
  • inner_seq_selector
名字inner_seq_selector
描述顺序空间内合并任务选择器的类型
类型String
默认值size_tiered
改后生效方式重启服务生效
  • inner_seq_performer
名字inner_seq_performer
描述顺序空间内合并任务执行器的类型,可选项是read_chunk和fast,默认是read_chunk,fast还在测试中
类型String
默认值read_chunk
改后生效方式重启服务生效
  • inner_unseq_selector
名字inner_unseq_selector
描述乱序空间内合并任务选择器的类型
类型String
默认值size_tiered
改后生效方式重启服务生效
  • inner_unseq_performer
名字inner_unseq_performer
描述乱序空间内合并任务执行器的类型,可选项是read_point和fast,默认是read_point,fast还在测试中
类型String
默认值read_point
改后生效方式重启服务生效
  • compaction_priority
名字compaction_priority
描述合并时的优先级,BALANCE 各种合并平等,INNER_CROSS 优先进行顺序文件和顺序文件或乱序文件和乱序文件的合并,CROSS_INNER 优先将乱序文件合并到顺序文件中
类型String
默认值BALANCE
改后生效方式重启服务生效
  • target_compaction_file_size
名字target_compaction_file_size
描述合并后的目标文件大小
类型Int64
默认值2147483648
改后生效方式重启服务生效
  • target_chunk_size
名字target_chunk_size
描述合并时 Chunk 的目标大小
类型Int64
默认值1048576
改后生效方式重启服务生效
  • target_chunk_point_num
名字target_chunk_point_num
描述合并时 Chunk 的目标点数
类型int32
默认值100000
改后生效方式重启服务生效
  • chunk_size_lower_bound_in_compaction
名字chunk_size_lower_bound_in_compaction
描述合并时源 Chunk 的大小小于这个值,将被解开成点进行合并
类型Int64
默认值10240
改后生效方式重启服务生效
  • chunk_point_num_lower_bound_in_compaction
名字chunk_point_num_lower_bound_in_compaction
描述合并时源 Chunk 的点数小于这个值,将被解开成点进行合并
类型int32
默认值1000
改后生效方式重启服务生效
  • max_inner_compaction_candidate_file_num
名字max_inner_compaction_candidate_file_num
描述空间内合并中一次合并最多参与的文件数
类型int32
默认值30
改后生效方式重启服务生效
  • max_cross_compaction_candidate_file_num
名字max_cross_compaction_candidate_file_num
描述跨空间合并中一次合并最多参与的文件数
类型int32
默认值500
改后生效方式重启服务生效
  • max_cross_compaction_candidate_file_size
名字max_cross_compaction_candidate_file_size
描述跨空间合并中一次合并最多参与的文件总大小
类型Int64
默认值5368709120
改后生效方式重启服务生效
  • cross_compaction_file_selection_time_budget
名字cross_compaction_file_selection_time_budget
描述若一个合并文件选择运行的时间超过这个时间,它将结束,并且当前的文件合并选择将用作为最终选择。当时间小于0 时,则表示时间是无边界的。单位:ms。
类型int32
默认值30000
改后生效方式重启服务生效
  • compaction_thread_count
名字compaction_thread_count
描述执行合并任务的线程数目
类型int32
默认值10
改后生效方式热加载
  • compaction_schedule_interval_in_ms
名字compaction_schedule_interval_in_ms
描述合并调度的时间间隔
类型Int64
默认值60000
改后生效方式重启服务生效
  • compaction_submission_interval_in_ms
名字compaction_submission_interval_in_ms
描述合并任务提交的间隔
类型Int64
默认值60000
改后生效方式重启服务生效
  • compaction_write_throughput_mb_per_sec
名字compaction_write_throughput_mb_per_sec
描述每秒可达到的写入吞吐量合并限制。
类型int32
默认值16
改后生效方式重启服务生效
  • sub_compaction_thread_count
名字sub_compaction_thread_count
描述每个合并任务的子任务线程数,只对跨空间合并和乱序空间内合并生效
类型int32
默认值4
改后生效方式热加载
  • compaction_validation_level
名字compaction_validation_level
描述合并结束后对顺序文件时间范围的检查, NONE 关闭检查,RESOURCE_ONLY 检查 resource 文件,RESOURCE_AND_TSFILE 检查 resource 文件和 tsfile 文件
类型String
默认值NONE
改后生效方式热加载
  • candidate_compaction_task_queue_size
名字candidate_compaction_task_queue_size
描述合并任务优先级队列的大小
类型int32
默认值50
改后生效方式重启服务生效

写前日志配置

  • wal_mode
名字wal_mode
描述写前日志的写入模式. DISABLE 模式下会关闭写前日志;SYNC 模式下写入请求会在成功写入磁盘后返回; ASYNC 模式下写入请求返回时可能尚未成功写入磁盘后。
类型String
默认值ASYNC
改后生效方式重启服务生效
  • max_wal_nodes_num
名字max_wal_nodes_num
描述写前日志节点的最大数量,默认值 0 表示数量由系统控制。
类型int32
默认值0
改后生效方式重启服务生效
  • wal_async_mode_fsync_delay_in_ms
名字wal_async_mode_fsync_delay_in_ms
描述async 模式下写前日志调用 fsync 前的等待时间
类型int32
默认值1000
改后生效方式热加载
  • wal_sync_mode_fsync_delay_in_ms
名字wal_sync_mode_fsync_delay_in_ms
描述sync 模式下写前日志调用 fsync 前的等待时间
类型int32
默认值3
改后生效方式热加载
  • wal_buffer_size_in_byte
名字wal_buffer_size_in_byte
描述写前日志的 buffer 大小
类型int32
默认值33554432
改后生效方式重启服务生效
  • wal_buffer_queue_capacity
名字wal_buffer_queue_capacity
描述写前日志阻塞队列大小上限
类型int32
默认值500
改后生效方式重启服务生效
  • wal_file_size_threshold_in_byte
名字wal_file_size_threshold_in_byte
描述写前日志文件封口阈值
类型int32
默认值31457280
改后生效方式热加载
  • wal_min_effective_info_ratio
名字wal_min_effective_info_ratio
描述写前日志最小有效信息比
类型double
默认值0.1
改后生效方式热加载
  • wal_memtable_snapshot_threshold_in_byte
名字wal_memtable_snapshot_threshold_in_byte
描述触发写前日志中内存表快照的内存表大小阈值
类型int64
默认值8388608
改后生效方式热加载
  • max_wal_memtable_snapshot_num
名字max_wal_memtable_snapshot_num
描述写前日志中内存表的最大数量上限
类型int32
默认值1
改后生效方式热加载
  • delete_wal_files_period_in_ms
名字delete_wal_files_period_in_ms
描述删除写前日志的检查间隔
类型int64
默认值20000
改后生效方式热加载

TsFile 配置

  • group_size_in_byte
名字group_size_in_byte
描述每次将内存中的数据写入到磁盘时的最大写入字节数
类型int32
默认值134217728
改后生效方式热加载
  • page_size_in_byte
名字page_size_in_byte
描述内存中每个列写出时,写成的单页最大的大小,单位为字节
类型int32
默认值65536
改后生效方式热加载
  • max_number_of_points_in_page
名字max_number_of_points_in_page
描述一个页中最多包含的数据点(时间戳-值的二元组)数量
类型int32
默认值10000
改后生效方式热加载
  • pattern_matching_threshold
名字pattern_matching_threshold
描述正则表达式匹配时最大的匹配次数
类型int32
默认值1000000
改后生效方式热加载
  • max_string_length
名字max_string_length
描述针对字符串类型的数据,单个字符串最大长度,单位为字符
类型int32
默认值128
改后生效方式热加载
  • float_precision
名字float_precision
描述浮点数精度,为小数点后数字的位数
类型int32
默认值默认为 2 位。注意:32 位浮点数的十进制精度为 7 位,64 位浮点数的十进制精度为 15 位。如果设置超过机器精度将没有实际意义。
改后生效方式热加载
  • value_encoder
名字value_encoder
描述value 列编码方式
类型枚举 String: “TS_2DIFF”,“PLAIN”,“RLE”
默认值PLAIN
改后生效方式热加载
  • compressor
名字compressor
描述数据压缩方法; 对齐序列中时间列的压缩方法
类型枚举 String : “UNCOMPRESSED”, “SNAPPY”, “LZ4”, “ZSTD”, “LZMA2”
默认值SNAPPY
改后生效方式热加载
  • max_degree_of_index_node
名字max_degree_of_index_node
描述元数据索引树的最大度(即每个节点的最大子节点个数)。
类型int32
默认值256
改后生效方式仅允许在第一次启动服务前修改

授权配置

  • authorizer_provider_class
名字authorizer_provider_class
描述权限服务的类名
类型String
默认值org.apache.iotdb.commons.auth.authorizer.LocalFileAuthorizer
改后生效方式重启服务生效
其他可选值org.apache.iotdb.commons.auth.authorizer.OpenIdAuthorizer
  • openID_url
名字openID_url
描述openID 服务器地址 (当 OpenIdAuthorizer 被启用时必须设定)
类型String(一个 http 地址)
默认值
改后生效方式重启服务生效
  • iotdb_server_encrypt_decrypt_provider
名字iotdb_server_encrypt_decrypt_provider
描述用于用户密码加密的类
类型String
默认值org.apache.iotdb.commons.security.encrypt.MessageDigestEncrypt
改后生效方式仅允许在第一次启动服务前修改
  • iotdb_server_encrypt_decrypt_provider_parameter
名字iotdb_server_encrypt_decrypt_provider_parameter
描述用于初始化用户密码加密类的参数
类型String
默认值
改后生效方式仅允许在第一次启动服务前修改
  • author_cache_size
名字author_cache_size
描述用户缓存与角色缓存的大小
类型int32
默认值1000
改后生效方式重启服务生效
  • author_cache_expire_time
名字author_cache_expire_time
描述用户缓存与角色缓存的有效期,单位为分钟
类型int32
默认值30
改后生效方式重启服务生效

UDF查询配置

  • udf_initial_byte_array_length_for_memory_control
名字udf_initial_byte_array_length_for_memory_control
描述用于评估UDF查询中文本字段的内存使用情况。建议将此值设置为略大于所有文本的平均长度记录。
类型int32
默认值48
改后生效方式重启服务生效
  • udf_memory_budget_in_mb
名字udf_memory_budget_in_mb
描述在一个UDF查询中使用多少内存(以 MB 为单位)。上限为已分配内存的 20% 用于读取。
类型Float
默认值30.0
改后生效方式重启服务生效
  • udf_reader_transformer_collector_memory_proportion
名字udf_reader_transformer_collector_memory_proportion
描述UDF内存分配比例。参数形式为a : b : c,其中a、b、c为整数。
类型String
默认值1:1:1
改后生效方式重启服务生效
  • udf_lib_dir
名字udf_lib_dir
描述UDF 日志及jar文件存储路径
类型String
默认值ext/udf(Windows:ext\udf)
改后生效方式重启服务生效

触发器配置

  • trigger_lib_dir
名字trigger_lib_dir
描述触发器 JAR 包存放的目录
类型String
默认值ext/trigger
改后生效方式重启服务生效
  • stateful_trigger_retry_num_when_not_found
名字stateful_trigger_retry_num_when_not_found
描述有状态触发器触发无法找到触发器实例时的重试次数
类型Int32
默认值3
改后生效方式重启服务生效

SELECT-INTO配置

  • into_operation_buffer_size_in_byte
名字into_operation_buffer_size_in_byte
描述执行 select-into 语句时,待写入数据占用的最大内存(单位:Byte)
类型int64
默认值100MB
改后生效方式热加载
  • select_into_insert_tablet_plan_row_limit
名字select_into_insert_tablet_plan_row_limit
描述执行 select-into 语句时,一个 insert-tablet-plan 中可以处理的最大行数
类型int32
默认值10000
改后生效方式热加载
  • into_operation_execution_thread_count
名字into_operation_execution_thread_count
描述SELECT INTO 中执行写入任务的线程池的线程数
类型int32
默认值2
改后生效方式重启服务生效

连续查询配置

  • continuous_query_submit_thread_count
名字continuous_query_execution_thread
描述执行连续查询任务的线程池的线程数
类型int32
默认值2
改后生效方式重启服务生效
  • continuous_query_min_every_interval_in_ms
名字continuous_query_min_every_interval_in_ms
描述连续查询执行时间间隔的最小值
类型long (duration)
默认值1000
改后生效方式重启服务生效

PIPE 配置

  • ip_white_list
名字ip_white_list
描述设置同步功能发送端 IP 地址的白名单,以网段的形式表示,多个网段之间用逗号分隔。发送端向接收端同步数据时,只有当该发送端 IP 地址处于该白名单设置的网段范围内,接收端才允许同步操作。如果白名单为空,则接收端不允许任何发送端同步数据。默认接收端拒绝除了本地以外的全部 IP 的同步请求。 对该参数进行配置时,需要保证发送端所有 DataNode 地址均被覆盖。
类型String
默认值127.0.0.1/32
改后生效方式热加载
  • max_number_of_sync_file_retry
名字max_number_of_sync_file_retry
描述同步文件最大重试次数
类型int32
默认值5
改后生效方式热加载

IoT 共识协议配置

当Region配置了IoTConsensus共识协议之后,下述的配置项才会生效

  • data_region_iot_max_log_entries_num_per_batch
名字data_region_iot_max_log_entries_num_per_batch
描述IoTConsensus batch 的最大日志条数
类型int32
默认值1024
改后生效方式重启生效
  • data_region_iot_max_size_per_batch
名字data_region_iot_max_size_per_batch
描述IoTConsensus batch 的最大大小
类型int32
默认值16MB
改后生效方式重启生效
  • data_region_iot_max_pending_batches_num
名字data_region_iot_max_pending_batches_num
描述IoTConsensus batch 的流水线并发阈值
类型int32
默认值12
改后生效方式重启生效
  • data_region_iot_max_memory_ratio_for_queue
名字data_region_iot_max_memory_ratio_for_queue
描述IoTConsensus 队列内存分配比例
类型double
默认值0.6
改后生效方式重启生效

Ratis 共识协议配置

当Region配置了RatisConsensus共识协议之后,下述的配置项才会生效

  • config_node_ratis_log_appender_buffer_size_max
名字config_node_ratis_log_appender_buffer_size_max
描述confignode 一次同步日志RPC最大的传输字节限制
类型int32
默认值4MB
改后生效方式重启生效
  • schema_region_ratis_log_appender_buffer_size_max
名字schema_region_ratis_log_appender_buffer_size_max
描述schema region 一次同步日志RPC最大的传输字节限制
类型int32
默认值4MB
改后生效方式重启生效
  • data_region_ratis_log_appender_buffer_size_max
名字data_region_ratis_log_appender_buffer_size_max
描述data region 一次同步日志RPC最大的传输字节限制
类型int32
默认值4MB
改后生效方式重启生效
  • config_node_ratis_snapshot_trigger_threshold
名字config_node_ratis_snapshot_trigger_threshold
描述confignode 触发snapshot需要的日志条数
类型int32
默认值400,000
改后生效方式重启生效
  • schema_region_ratis_snapshot_trigger_threshold
名字schema_region_ratis_snapshot_trigger_threshold
描述schema region 触发snapshot需要的日志条数
类型int32
默认值400,000
改后生效方式重启生效
  • data_region_ratis_snapshot_trigger_threshold
名字data_region_ratis_snapshot_trigger_threshold
描述data region 触发snapshot需要的日志条数
类型int32
默认值400,000
改后生效方式重启生效
  • config_node_ratis_log_unsafe_flush_enable
名字config_node_ratis_log_unsafe_flush_enable
描述confignode 是否允许Raft日志异步刷盘
类型boolean
默认值false
改后生效方式重启生效
  • schema_region_ratis_log_unsafe_flush_enable
名字schema_region_ratis_log_unsafe_flush_enable
描述schema region 是否允许Raft日志异步刷盘
类型boolean
默认值false
改后生效方式重启生效
  • data_region_ratis_log_unsafe_flush_enable
名字data_region_ratis_log_unsafe_flush_enable
描述data region 是否允许Raft日志异步刷盘
类型boolean
默认值false
改后生效方式重启生效
  • config_node_ratis_log_segment_size_max_in_byte
名字config_node_ratis_log_segment_size_max_in_byte
描述confignode 一个RaftLog日志段文件的大小
类型int32
默认值24MB
改后生效方式重启生效
  • schema_region_ratis_log_segment_size_max_in_byte
名字schema_region_ratis_log_segment_size_max_in_byte
描述schema region 一个RaftLog日志段文件的大小
类型int32
默认值24MB
改后生效方式重启生效
  • data_region_ratis_log_segment_size_max_in_byte
名字data_region_ratis_log_segment_size_max_in_byte
描述data region 一个RaftLog日志段文件的大小
类型int32
默认值24MB
改后生效方式重启生效
  • config_node_ratis_grpc_flow_control_window
名字config_node_ratis_grpc_flow_control_window
描述confignode grpc 流式拥塞窗口大小
类型int32
默认值4MB
改后生效方式重启生效
  • schema_region_ratis_grpc_flow_control_window
名字schema_region_ratis_grpc_flow_control_window
描述schema region grpc 流式拥塞窗口大小
类型int32
默认值4MB
改后生效方式重启生效
  • data_region_ratis_grpc_flow_control_window
名字data_region_ratis_grpc_flow_control_window
描述data region grpc 流式拥塞窗口大小
类型int32
默认值4MB
改后生效方式重启生效
  • data_region_ratis_grpc_leader_outstanding_appends_max
名字data_region_ratis_grpc_leader_outstanding_appends_max
描述data region grpc 流水线并发阈值
类型int32
默认值128
改后生效方式重启生效
  • data_region_ratis_log_force_sync_num
名字data_region_ratis_log_force_sync_num
描述data region fsync 阈值
类型int32
默认值128
改后生效方式重启生效
  • config_node_ratis_rpc_leader_election_timeout_min_ms
名字config_node_ratis_rpc_leader_election_timeout_min_ms
描述confignode leader 选举超时最小值
类型int32
默认值2000ms
改后生效方式重启生效
  • schema_region_ratis_rpc_leader_election_timeout_min_ms
名字schema_region_ratis_rpc_leader_election_timeout_min_ms
描述schema region leader 选举超时最小值
类型int32
默认值2000ms
改后生效方式重启生效
  • data_region_ratis_rpc_leader_election_timeout_min_ms
名字data_region_ratis_rpc_leader_election_timeout_min_ms
描述data region leader 选举超时最小值
类型int32
默认值2000ms
改后生效方式重启生效
  • config_node_ratis_rpc_leader_election_timeout_max_ms
名字config_node_ratis_rpc_leader_election_timeout_max_ms
描述confignode leader 选举超时最大值
类型int32
默认值2000ms
改后生效方式重启生效
  • schema_region_ratis_rpc_leader_election_timeout_max_ms
名字schema_region_ratis_rpc_leader_election_timeout_max_ms
描述schema region leader 选举超时最大值
类型int32
默认值2000ms
改后生效方式重启生效
  • data_region_ratis_rpc_leader_election_timeout_max_ms
名字data_region_ratis_rpc_leader_election_timeout_max_ms
描述data region leader 选举超时最大值
类型int32
默认值2000ms
改后生效方式重启生效
  • config_node_ratis_request_timeout_ms
名字config_node_ratis_request_timeout_ms
描述confignode Raft 客户端重试超时
类型int32
默认值10s
改后生效方式重启生效
  • schema_region_ratis_request_timeout_ms
名字schema_region_ratis_request_timeout_ms
描述schema region Raft 客户端重试超时
类型int32
默认值10s
改后生效方式重启生效
  • data_region_ratis_request_timeout_ms
名字data_region_ratis_request_timeout_ms
描述data region Raft 客户端重试超时
类型int32
默认值10s
改后生效方式重启生效
  • config_node_ratis_max_retry_attempts
名字config_node_ratis_max_retry_attempts
描述confignode Raft客户端最大重试次数
类型int32
默认值10
改后生效方式重启生效
  • config_node_ratis_initial_sleep_time_ms
名字config_node_ratis_initial_sleep_time_ms
描述confignode Raft客户端初始重试睡眠时长
类型int32
默认值100ms
改后生效方式重启生效
  • config_node_ratis_max_sleep_time_ms
名字config_node_ratis_max_sleep_time_ms
描述confignode Raft客户端最大重试睡眠时长
类型int32
默认值10s
改后生效方式重启生效
  • schema_region_ratis_max_retry_attempts
名字schema_region_ratis_max_retry_attempts
描述schema region Raft客户端最大重试次数
类型int32
默认值10
改后生效方式重启生效
  • schema_region_ratis_initial_sleep_time_ms
名字schema_region_ratis_initial_sleep_time_ms
描述schema region Raft客户端初始重试睡眠时长
类型int32
默认值100ms
改后生效方式重启生效
  • schema_region_ratis_max_sleep_time_ms
名字schema_region_ratis_max_sleep_time_ms
描述schema region Raft客户端最大重试睡眠时长
类型int32
默认值10s
改后生效方式重启生效
  • data_region_ratis_max_retry_attempts
名字data_region_ratis_max_retry_attempts
描述data region Raft客户端最大重试次数
类型int32
默认值10
改后生效方式重启生效
  • data_region_ratis_initial_sleep_time_ms
名字data_region_ratis_initial_sleep_time_ms
描述data region Raft客户端初始重试睡眠时长
类型int32
默认值100ms
改后生效方式重启生效
  • data_region_ratis_max_sleep_time_ms
名字data_region_ratis_max_sleep_time_ms
描述data region Raft客户端最大重试睡眠时长
类型int32
默认值10s
改后生效方式重启生效
  • config_node_ratis_preserve_logs_num_when_purge
名字config_node_ratis_preserve_logs_num_when_purge
描述confignode snapshot后保持一定数量日志不删除
类型int32
默认值1000
改后生效方式重启生效
  • schema_region_ratis_preserve_logs_num_when_purge
名字schema_region_ratis_preserve_logs_num_when_purge
描述schema region snapshot后保持一定数量日志不删除
类型int32
默认值1000
改后生效方式重启生效
  • data_region_ratis_preserve_logs_num_when_purge
名字data_region_ratis_preserve_logs_num_when_purge
描述data region snapshot后保持一定数量日志不删除
类型int32
默认值1000
改后生效方式重启生效

Procedure 配置

  • procedure_core_worker_thread_count
名字procedure_core_worker_thread_count
描述工作线程数量
类型int32
默认值4
改后生效方式重启服务生效
  • procedure_completed_clean_interval
名字procedure_completed_clean_interval
描述清理已完成的 procedure 时间间隔
类型int32
默认值30(s)
改后生效方式重启服务生效
  • procedure_completed_evict_ttl
名字procedure_completed_evict_ttl
描述已完成的 procedure 的数据保留时间
类型int32
默认值800(s)
改后生效方式重启服务生效

MQTT代理配置

  • enable_mqtt_service
名字enable_mqtt_service。
描述是否开启MQTT服务
类型Boolean
默认值false
改后生效方式热加载
  • mqtt_host
名字mqtt_host
描述MQTT服务绑定的host。
类型String
默认值0.0.0.0
改后生效方式热加载
  • mqtt_port
名字mqtt_port
描述MQTT服务绑定的port。
类型int32
默认值1883
改后生效方式热加载
  • mqtt_handler_pool_size
名字mqtt_handler_pool_size
描述用于处理MQTT消息的处理程序池大小。
类型int32
默认值1
改后生效方式热加载
  • mqtt_payload_formatter
名字mqtt_payload_formatter
描述MQTT消息有效负载格式化程序。
类型String
默认值json
改后生效方式热加载
  • mqtt_max_message_size
名字mqtt_max_message_size
描述MQTT消息的最大长度(以字节为单位)。
类型int32
默认值1048576
改后生效方式热加载

REST 服务配置

  • enable_rest_service
名字enable_rest_service
描述是否开启Rest服务。
类型Boolean
默认值false
改后生效方式重启生效
  • rest_service_port
名字rest_service_port
描述Rest服务监听端口号
类型int32
默认值18080
改后生效方式重启生效
  • enable_swagger
名字enable_swagger
描述是否启用swagger来展示rest接口信息
类型Boolean
默认值false
改后生效方式重启生效
  • rest_query_default_row_size_limit
名字rest_query_default_row_size_limit
描述一次查询能返回的结果集最大行数
类型int32
默认值10000
改后生效方式重启生效
  • cache_expire
名字cache_expire
描述缓存客户登录信息的过期时间
类型int32
默认值28800
改后生效方式重启生效
  • cache_max_num
名字cache_max_num
描述缓存中存储的最大用户数量
类型int32
默认值100
改后生效方式重启生效
  • cache_init_num
名字cache_init_num
描述缓存初始容量
类型int32
默认值10
改后生效方式重启生效
  • enable_https
名字cache_init_num
描述REST Service 是否开启 SSL 配置
类型Boolean
默认值false
改后生效方式重启生效
  • key_store_path
名字key_store_path
描述keyStore 所在路径(非必填)
类型String
默认值“”
改后生效方式重启生效
  • key_store_pwd
名字key_store_pwd
描述keyStore 密码(非必填)
类型String
默认值“”
改后生效方式重启生效
  • trust_store_path
名字trust_store_path
描述keyStore 密码(非必填)
类型String
默认值“”
改后生效方式重启生效
  • trust_store_pwd
名字trust_store_pwd
描述trustStore 密码(非必填)
类型String
默认值“”
改后生效方式重启生效
  • idle_timeout
名字idle_timeout
描述SSL 超时时间,单位为秒
类型int32
默认值5000
改后生效方式重启生效