配置参数

    三种配置项的配置文件均位于 IoTDB 安装目录:文件夹下,其中涉及 server 配置的共有 2 个文件,分别为:iotdb-env.sh, iotdb-engine.properties 。用户可以通过更改其中的配置项对系统运行的相关配置项进行配置。

    配置文件的说明如下:

    • iotdb-env.sh:环境配置项的默认配置文件。用户可以在文件中配置 JAVA-JVM 的相关系统配置项。

    为方便用户使用,IoTDB Server 为用户提供了热修改功能,即在系统运行过程中修改iotdb-engine.properties中部分配置参数并即时应用到系统中。下面介绍的参数中,改后 生效方式为 的均为支持热修改的配置参数。

    触发方式:客户端发送load configuration命令至 IoTDB Server,客户端的使用方式详见 SQL 命令行终端(CLI) (opens new window)

    环境配置项主要用于对 IoTDB Server 运行的 Java 环境相关参数进行配置,如 JVM 相关配置。IoTDB Server 启动时,此部分配置会被传给 JVM。用户可以通过查看 iotdb-env.sh (或iotdb-env.bat) 文件查看环境配置项内容。详细配置项说明如下:

    • JMX_LOCAL
    • JMX_PORT
    名字JMX_PORT
    描述JMX 监听端口。请确认该端口是不是系统保留端口并且未被占用。
    类型Short Int: [0,65535]
    默认值31999
    改后生效方式重启服务生效
    • MAX_HEAP_SIZE
    名字MAX_HEAP_SIZE
    描述IoTDB 启动时能使用的最大堆内存大小。
    类型String
    默认值取决于操作系统和机器配置。在 Linux 或 MacOS 系统下默认为机器内存的四分之一。在 Windows 系统下,32 位系统的默认值是 512M,64 位系统默认值是 2G。
    改后生效方式重启服务生效
    • HEAP_NEWSIZE
    名字HEAP_NEWSIZE
    描述IoTDB 启动时能使用的最小堆内存大小。
    类型String
    默认值取决于操作系统和机器配置。在 Linux 或 MacOS 系统下默认值为机器 CPU 核数乘以 100M 的值与 MAX_HEAP_SIZE 四分之一这二者的最小值。在 Windows 系统下,32 位系统的默认值是 512M,64 位系统默认值是 2G。
    改后生效方式重启服务生效
    • rpc_address
    名字rpc_address
    描述rpc地址
    类型String
    默认值0.0.0.0
    改后生效方式重启服务生效
    • rpc_port
    名字rpc_port
    描述jdbc 服务监听端口。请确认该端口不是系统保留端口并且未被占用。
    类型Short Int : [0,65535]
    默认值6667
    改后生效方式重启服务生效
    • rpc_thrift_compression_enable
    名字rpc_thrift_compression_enable
    描述是否启用 thrift 的压缩机制。
    类型Boolean
    默认值false
    改后生效方式重启服务生效
    • rpc_advanced_compression_enable
    名字rpc_advanced_compression_enable
    描述是否启用 thrift 的自定制压缩机制。
    类型Boolean
    默认值false
    改后生效方式重启服务生效
    • rpc_max_concurrent_client_num
    名字rpc_max_concurrent_client_num
    描述最大连接数。
    类型Short Int : [0,65535]
    默认值65535
    改后生效方式重启服务生效
    • thrift_max_frame_size
    名字thrift_max_frame_size
    描述RPC 请求/响应的最大字节数
    类型long
    默认值536870912 (默认值512MB,应大于等于 512 1024 1024)
    改后生效方式重启服务生效
    • thrift_init_buffer_size
    名字thrift_init_buffer_size
    描述字节数
    类型long
    默认值1024
    改后生效方式重启服务生效

    InfluxDB 协议适配器配置

    • enable_influxdb_rpc_service
    名字enable_influxdb_rpc_service
    描述是否开启InfluxDB RPC service
    类型Boolean
    默认值true
    改后生效方式重启服务生效
    • influxdb_rpc_port
    名字influxdb_rpc_port
    描述influxdb rpc service占用端口
    类型INT32
    默认值8086
    改后生效方式重启服务生效

    写前日志配置

    • enable_wal
    名字enable_wal
    描述是否开启写前日志,默认值为 true 表示开启,配置成 false 表示关闭
    类型Boolean
    默认值true
    改后生效方式触发生效
    • enable_discard_out_of_order_data
    名字enable_discard_out_of_order_data
    描述是否丢弃乱序数据,默认值为 false 表示关闭
    类型Boolean
    默认值false
    改后生效方式触发生效
    • flush_wal_threshold
    名字flush_wal_threshold
    描述写前日志的条数达到该值之后,持久化到磁盘,有可能丢失至多 flush_wal_threshold 个操作
    类型Int32
    默认值10000
    改后生效方式触发生效
    • force_wal_period_in_ms
    名字force_wal_period_in_ms
    描述写前日志定期持久化到磁盘的周期,单位毫秒,有可能丢失至多 force_wal_period_in_ms 毫秒的操作。
    类型Int32
    默认值100
    改后生效方式触发生效

    目录配置

    • system_dir
    名字system_dir
    描述IoTDB 元数据存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。
    类型String
    默认值data/system(Windows:data\system)
    改后生效方式触发生效
    • data_dirs
    名字data_dirs
    描述IoTDB 数据存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。
    类型String
    默认值data/data(Windows:data\data)
    改后生效方式触发生效
    • multi_dir_strategy
    名字multi_dir_strategy
    描述IoTDB 在 tsfile_dir 中为 TsFile 选择目录时采用的策略。可使用简单类名或类名全称。系统提供以下三种策略:
    1. SequenceStrategy:IoTDB 按顺序从 tsfile_dir 中选择目录,依次遍历 tsfile_dir 中的所有目录,并不断轮循;
    2. MaxDiskUsableSpaceFirstStrategy:IoTDB 优先选择 tsfile_dir 中对应磁盘空余空间最大的目录;
    3. MinFolderOccupiedSpaceFirstStrategy:IoTDB 优先选择 tsfile_dir 中已使用空间最小的目录;
    4. UserDfineStrategyPackage(用户自定义策略)
    您可以通过以下方法完成用户自定义策略:
    1. 继承 cn.edu.tsinghua.iotdb.conf.directories.strategy.DirectoryStrategy 类并实现自身的 Strategy 方法;
    2. 将实现的类的完整类名(包名加类名,UserDfineStrategyPackage)填写到该配置项;
    3. 将该类 jar 包添加到工程中。
    类型String
    默认值MaxDiskUsableSpaceFirstStrategy
    改后生效方式触发生效
    • wal_dir
    名字wal_dir
    描述IoTDB 写前日志存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。
    类型String
    默认值data/wal(Windows:data\wal)
    改后生效方式触发生效
    • tsfile_storage_fs
    名字tsfile_storage_fs
    描述Tsfile 和相关数据文件的存储文件系统。目前支持 LOCAL(本地文件系统)和 HDFS 两种
    类型String
    默认值LOCAL
    改后生效方式仅允许在第一次启动服务前修改
    • core_site_path
    名字core_site_path
    描述在 Tsfile 和相关数据文件存储到 HDFS 的情况下用于配置 core-site.xml 的绝对路径
    类型String
    默认值/etc/hadoop/conf/core-site.xml
    改后生效方式重启服务生效
    • hdfs_site_path
    名字hdfs_site_path
    描述在 Tsfile 和相关数据文件存储到 HDFS 的情况下用于配置 hdfs-site.xml 的绝对路径
    类型String
    默认值/etc/hadoop/conf/hdfs-site.xml
    改后生效方式重启服务生效
    • hdfs_ip
    名字hdfs_ip
    描述在 Tsfile 和相关数据文件存储到 HDFS 的情况下用于配置 HDFS 的 IP。如果配置了多于 1 个 hdfs_ip,则表明启用了 Hadoop HA
    类型String
    默认值localhost
    改后生效方式重启服务生效
    • hdfs_port
    名字hdfs_port
    描述在 Tsfile 和相关数据文件存储到 HDFS 的情况下用于配置 HDFS 的端口
    类型String
    默认值9000
    改后生效方式重启服务生效
    • dfs_nameservices
    名字hdfs_nameservices
    描述在使用 Hadoop HA 的情况下用于配置 HDFS 的 nameservices
    类型String
    默认值hdfsnamespace
    改后生效方式重启服务生效
    • dfs_ha_namenodes
    名字hdfs_ha_namenodes
    描述在使用 Hadoop HA 的情况下用于配置 HDFS 的 nameservices 下的 namenodes
    类型String
    默认值nn1,nn2
    改后生效方式重启服务生效
    • dfs_ha_automatic_failover_enabled
    名字dfs_ha_automatic_failover_enabled
    描述在使用 Hadoop HA 的情况下用于配置是否使用失败自动切换
    类型Boolean
    默认值true
    改后生效方式重启服务生效
    • dfs_client_failover_proxy_provider
    名字dfs_client_failover_proxy_provider
    描述在使用 Hadoop HA 且使用失败自动切换的情况下配置失败自动切换的实现方式
    类型String
    默认值org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
    改后生效方式重启服务生效
    • hdfs_use_kerberos
    名字hdfs_use_kerberos
    描述是否使用 kerberos 验证访问 hdfs
    类型String
    默认值false
    改后生效方式重启服务生效
    • kerberos_keytab_file_path
    名字kerberos_keytab_file_path
    描述kerberos keytab file 的完整路径
    类型String
    默认值/path
    改后生效方式重启服务生效
    • kerberos_principal
    名字kerberos_principal
    描述Kerberos 认证原则
    类型String
    默认值your principal
    改后生效方式重启服务生效

    存储引擎配置

    • timestamp_precision
    名字timestamp_precision
    描述时间戳精度,支持 ms、us、ns
    类型String
    默认值ms
    改后生效方式触发生效
    • default_ttl
    名字default_ttl
    描述数据保留时间,会丢弃 now()-default_ttl 之前的数据,单位 ms
    类型long
    默认值36000000
    改后生效方式重启服务生效
    名字wal_buffer_size
    描述写前日志的 buffer 大小
    类型Int32
    默认值16777216
    改后生效方式触发生效
    • seq_tsfile_size
    名字seq_tsfile_size
    描述每个顺序tsfile大小,单位:byte
    类型Int32
    默认值1
    改后生效方式重启服务生效
    • unseq_tsfile_size
    名字unseq_tsfile_size
    描述每个无序 tsfile 大小,单位:byte
    类型Int32
    默认值1
    改后生效方式重启服务生效
    • mlog_buffer_size
    名字mlog_buffer_size
    描述mlog 的 buffer 大小
    类型Int32
    默认值1048576
    改后生效方式触发生效
    • sync_mlog_period_in_ms
    名字sync_mlog_period_in_ms
    描述mlog定期刷新到磁盘的周期,单位毫秒。如果该参数为0,则表示每次对元数据的更新操作都会被立即写到磁盘上。
    类型Int64
    默认值100
    改后生效方式重启服务生效
    • 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
    默认值false
    改后生效方式触发生效
    • seq_memtable_flush_interval_in_ms
    名字seq_memtable_flush_interval_in_ms
    描述当 memTable 的创建时间小于当前时间减去该值时,该 memtable 需要被刷盘
    类型Int32
    默认值3600000
    改后生效方式触发生效
    • 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
    默认值3600000
    改后生效方式触发生效
    • unseq_memtable_flush_check_interval_in_ms
    名字unseq_memtable_flush_check_interval_in_ms
    描述检查乱序 memtable 是否需要刷盘的时间间隔
    类型Int32
    默认值600000
    改后生效方式触发生效
    • enable_timed_close_tsfile
    名字enable_timed_close_tsfile
    描述是否开启定时关闭 tsfile
    类型Boolean
    默认值true
    改后生效方式触发生效
    • close_tsfile_interval_after_flushing_in_ms
    名字close_tsfile_interval_after_flushing_in_ms
    描述当 tsfile 的上一个 memtable 刷盘时间小于当前时间减去该值且当前工作 memtable 为空时, 该 tsfile 需要被关闭
    类型Int32
    默认值3600000
    改后生效方式触发生效
    • close_tsfile_check_interval_in_ms
    名字close_tsfile_check_interval_in_ms
    描述检查 tsfile 是否需要关闭的时间间隔
    类型Int32
    默认值600000
    改后生效方式触发生效
    • avg_series_point_number_threshold
    名字avg_series_point_number_threshold
    描述内存中平均每个时间序列点数最大值,达到触发 flush
    类型Int32
    默认值10000
    改后生效方式重启服务生效
    • concurrent_flush_thread
    名字concurrent_flush_thread
    描述当 IoTDB 将内存中的数据写入磁盘时,最多启动多少个线程来执行该操作。如果该值小于等于 0,那么采用机器所安装的 CPU 核的数量。默认值为 0。
    类型Int32
    默认值0
    改后生效方式重启服务生效
    • concurrent_query_thread
    名字concurrent_query_thread
    描述当 IoTDB 对内存中的数据进行查询时,最多启动多少个线程来执行该操作。如果该值小于等于 0,那么采用机器所安装的 CPU 核的数量。默认值为 16。
    类型Int32
    默认值16
    改后生效方式重启服务生效
    • concurrent_sub_rawQuery_thread
    名字concurrent_sub_rawQuery_thread
    描述原始数据查询时,最多启动多少个线程来执行该操作。如果设置小于等于 0,会采用机器 CPU 核数。
    类型Int32
    默认值8
    改后生效方式重启服务生效
    • raw_query_blocking_queue_capacity
    名字raw_query_blocking_queue_capacity
    描述原始数据查询中,读任务的阻塞队列长度。默认值为 5。
    类型Int32
    默认值5
    改后生效方式重启服务生效
    • chunk_buffer_pool_enable
    名字chunk_buffer_pool_enable
    描述在将 memtable 序列化为内存中的字节时,是否开启由 IoTDB 而不是 JVM 接管内存管理,默认关闭。
    类型Boolean
    默认值false
    改后生效方式重启服务生效
    • batch_size
    名字batch_size
    描述服务器中每次迭代的数据量(数据条目,即不同时间戳的数量。)
    类型Int32
    默认值100000
    改后生效方式重启服务生效
    • tag_attribute_total_size
    • tag_attribute_flush_interval
    名字tag_attribute_flush_interval
    描述标签和属性记录的间隔数,达到此记录数量时将强制刷盘
    类型Int32
    默认值1000
    改后生效方式仅允许在第一次启动服务前修改
    • enable_partial_insert
    名字enable_partial_insert
    描述在一次 insert 请求中,如果部分测点写入失败,是否继续写入其他测点。
    类型Boolean
    默认值true
    改后生效方式重启服务生效
    • enable_mtree_snapshot
    名字enable_mtree_snapshot
    描述是否启用 MTree snapshot。 从 0.11.0 开始默认为 false。
    类型Boolean
    默认值false
    改后生效方式重启服务生效
    • mtree_snapshot_interval
    名字mtree_snapshot_interval
    描述创建 MTree snapshot 时至少累积的 mlog 日志行数。单位为日志行数。
    类型Int32
    默认值100000
    改后生效方式重启服务生效
    • mtree_snapshot_threhold_time
    名字mtree_snapshot_threhold_time
    描述MTree 修改的阈值间隔时间,若最后一次修改时间小于这个阈值,则不会创建 MTree snapshot。 单位:秒。 默认值:1 小时(3600 秒)
    类型Int32
    默认值3600
    改后生效方式重启服务生效

    内存控制配置

    • enable_mem_control
    名字enable_mem_control
    描述开启内存控制,避免爆内存
    类型Boolean
    默认值true
    改后生效方式重启服务生效
    • write_read_schema_free_memory_proportion
    名字write_read_schema_free_memory_proportion
    描述读写内存分配比率。 参数形式为a : b : c : d,其中a、b、c、d为整数。如“1:1:1:1”、“6:2:1:1”,如果你的写入压力大而读取压力小,请调整为“6:1:1:2”
    类型String
    默认值4:3:1:2
    改后生效方式重启服务生效
    • primary_array_size
    名字primary_array_size
    描述数组池中的原始数组大小(每个数组的长度)
    类型Int32
    默认值32
    改后生效方式重启服务生效
    • flush_proportion
    名字flush_proportion
    描述调用flush disk的写入内存比例,默认0.4,若有极高的写入负载力(比如batch=1000),可以设置为低于默认值,比如0.2
    类型Double
    默认值0.4
    改后生效方式重启服务生效
    • time_index_memory_proportion
    名字time_index_memory_proportion
    描述分配给读 timeIndex 的内存占比
    类型Double
    默认值0.2
    改后生效方式重启服务生效
    • 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
    改后生效方式重启服务生效
    • storage_group_report_threshold
    名字storage_group_report_threshold
    描述如果存储组的内存(以字节byte为单位)增加超过此阈值,则向系统报告。默认值为16MB
    类型Int32
    默认值16777216
    改后生效方式重启服务生效
    • max_deduplicated_path_num
    名字max_deduplicated_path_num
    描述在一次查询中,允许最大重复路径的数据量,这只是一个建议值,实际限制是这个默认值和计算值的之间
    类型Int32
    默认值1000
    改后生效方式重启服务生效
    • check_period_when_insert_blocked
    名字check_period_when_insert_blocked
    描述当插入被拒绝时,等待时间(以毫秒为单位)去再次检查系统,默认为50。若插入被拒绝,读取负载低,可以设置大一些。
    类型Int32
    默认值50
    改后生效方式重启服务生效
    • max_waiting_time_when_insert_blocked
    名字max_waiting_time_when_insert_blocked
    描述当插入的等待时间(以毫秒为单位)超过此值时,抛出异常。默认为10000。若插入被拒绝,读取负载低,可以设置大一些。
    类型Int32
    默认值10000
    改后生效方式重启服务生效
    • estimated_series_size
    名字estimated_series_size
    描述在Mtree中一个时间序列的评估元数据大小(以字节byte为单位)。
    类型Int32
    默认值300
    改后生效方式重启服务生效
    • io_task_queue_size_for_flushing
    名字io_task_queue_size_for_flushing
    描述ioTaskQueue 的大小。默认值为10。
    类型Int32
    默认值10
    改后生效方式重启服务生效

    升级配置

    • update_thread_num
    名字update_thread_num
    描述当存在旧版本(V0.9.x/v1)数据时,会设置多少线程来执行升级任务,默认为1。版本小于等于V0.X时设置为1。
    类型Int32
    默认值1
    改后生效方式重启服务生效

    查询配置

    • default_fill_interval
    名字default_fill_interval
    描述填充查询中使用的默认时间段,默认-1表示无限过去时间,以毫秒ms为单位
    类型Int32
    默认值-1
    改后生效方式重启服务生效
    • group_by_fill_cache_size_in_mb
    名字group_by_fill_cache_size_in_mb
    描述填充查询中使用的缓存大小,单位是MB
    类型Float
    默认值1.0
    改后生效方式重启服务生效

    合并配置

    • 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_compaction_strategy
    名字cross_compaction_strategy
    描述跨空间合并的策略
    类型String
    默认值rewrite_compaction
    改后生效方式重启服务生效
    • inner_compaction_strategy
    名字cross_compaction_strategy
    描述空间内合并的策略
    类型String
    默认值size_tiered_compaction
    改后生效方式重启服务生效
    • compaction_priority
    名字compaction_priority
    描述合并时的优先级,BALANCE 各种合并平等,INNER_CROSS 优先进行顺序文件和顺序文件或乱序文件和乱序文件的合并,CROSS_INNER 优先将乱序文件合并到顺序文件中
    类型String
    默认值BALANCE
    改后生效方式重启服务生效
    • target_compaction_file_size
    名字target_compaction_file_size
    描述空间内合并的目标文件大小
    类型Int64
    默认值1073741824
    改后生效方式重启服务生效
    • 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
    默认值128
    改后生效方式重启服务生效
    • chunk_point_num_lower_bound_in_compaction
    名字chunk_point_num_lower_bound_in_compaction
    描述合并时源 Chunk 的点数小于这个值,将被解开成点进行合并
    类型Int32
    默认值100
    改后生效方式重启服务生效
    • 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
    默认值1000
    改后生效方式重启服务生效
    • cross_compaction_file_selection_time_budget
    名字cross_compaction_file_selection_time_budget
    描述若一个合并文件选择运行的时间超过这个时间,它将结束,并且当前的文件合并选择将用作为最终选择。当时间小于0 时,则表示时间是无边界的。单位:ms。
    类型Int32
    默认值30000
    改后生效方式重启服务生效
    • cross_compaction_memory_budget
    名字cross_compaction_memory_budget
    描述一个合并任务可以使用多少内存(以字节为单位),默认为最大JVM内存的10%。这只是一个粗略的估计,从一个比较小的值开始,避免OOM。每个新的合并线程可能会占用这样的内存,所以merge_thread_num * merge_memory_budget是合并的预估总内存。
    类型Int32
    默认值2147483648
    改后生效方式重启服务生效
    • concurrent_compaction_thread
    名字concurrent_compaction_thread
    描述执行合并任务的线程数目
    类型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
    改后生效方式重启服务生效
    • insert_multi_tablet_enable_multithreading_column_threshold
    名字insert_multi_tablet_enable_multithreading_column_threshold
    描述插入时启用多线程插入列数的阈值
    类型Int32
    默认值10
    改后生效方式重启服务生效
    • query_timeout_threshold
    名字query_timeout_threshold
    描述查询的最大执行时间。单位:毫秒。
    类型Int32
    默认值60000
    改后生效方式重启服务生效

    元数据缓存配置

    • meta_data_cache_enable
    名字meta_data_cache_enable
    描述是否缓存元数据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
    改后生效方式重启服务生效
    • metadata_node_cache_size
    名字metadata_node_cache_size
    描述Manager的缓存大小。所有路径检查和将具有相应路径的MManager中的TSDataType的缓存,都将被用作提高写入速度。
    类型Int32
    默认值300000
    改后生效方式重启服务生效

    最新点缓存配置

    • enable_last_stat
    名字enable_last_cache
    描述是否开启最新点缓存
    类型Boolean
    默认值true
    改后生效方式重启服务生效

    统计监控器配置

    名字enable_stat_monitor
    描述选择是否启动后台统计功能
    类型Boolean
    默认值false
    改后生效方式重启服务生效
    • enable_monitor_series_write
    名字enable_monitor_series_write
    描述是否开启写入服务监控的时间序列
    类型Boolean
    默认值false
    改后生效方式重启服务生效

    WAL 直接缓冲池配置

    • wal_pool_trim_interval_ms
    名字wal_pool_trim_interval_ms
    描述缩短日志池间隔时间,单位:毫秒ms
    类型Int32
    默认值10000
    改后生效方式重启服务生效
    • max_wal_bytebuffer_num_for_each_partition
    名字max_wal_bytebuffer_num_for_each_partition
    描述每个时间分区可以分配的最大日志字节缓冲区数,如果没有乱序数据可以设置为4。应该是偶数
    类型Int32
    默认值6
    改后生效方式重启服务生效

    外部排序配置

    • enable_external_sort
    名字enable_external_sort
    描述是否开启外部排序功能
    类型Boolean
    默认值true
    改后生效方式重启服务生效
    • external_sort_threshold
    名字external_sort_threshold
    描述单个时间序列的最大同时块读取数。若同时chunk读取的数量大于external_sort_threshold,则使用外部排序。当external_sort_threshold增加时,内存中同时排序的chunk数量可能会增加,这会占用更多的内存;external_sort_threshold 减小时,触发外部排序会增加耗时。
    类型Int32
    默认值1000
    改后生效方式重启服务生效

    同步服务器配置

    • is_sync_enable
    名字is_sync_enable
    描述是否开启同步服务功能
    类型Boolean
    默认值false
    改后生效方式重启服务生效
    • sync_server_port
    名字sync_server_port
    描述同步服务器端口进行监听
    类型Int32
    默认值5555
    改后生效方式重启服务生效
    • ip_white_list
    名字ip_white_list
    描述同步客户端的白名单。请用网段形式表示IP范围,例如:192.168.0.0/16,若有多个IP段,请用逗号隔开,默认是允许所有IP同步
    类型String
    默认值0.0.0.0/0
    改后生效方式重启服务生效

    性能统计配置

    • enable_performance_stat
    名字enable_performance_stat
    描述是否启用子模块的性能状态
    类型Boolean
    默认值true
    改后生效方式重启服务生效
    • tracing_dir

    水印模块配置

    • watermark_module_opened
    名字watermark_module_opened
    描述是否开启水印水印嵌入功能
    取值true or false
    默认值false
    改后生效方式重启服务生效
    • watermark_secret_key
    名字watermark_secret_key
    描述水印嵌入功能秘钥
    类型String
    默认值IoTDB * 2019@Beijing
    改后生效方式重启服务生效
    • watermark_bit_string
    名字watermark_bit_string
    描述水印比特字符串
    类型Int32
    默认值100101110100
    改后生效方式重启服务生效
    • watermark_method
    名字watermark_method
    描述水印嵌入方法
    类型String
    默认值GroupBasedLSBMethod(embed_row_cycle=2,embed_lsb_num=5)
    改后生效方式重启服务生效
    • enable_auto_create_schema
    名字enable_auto_create_schema
    描述当写入的序列不存在时,是否自动创建序列
    取值true or false
    默认值true
    改后生效方式重启服务生效
    • default_storage_group_level
    名字default_storage_group_level
    描述当写入的数据不存在且自动创建序列时,若需要创建相应的存储组,将序列路径的哪一层当做存储组。例如,如果我们接到一个新序列 root.sg0.d1.s2, 并且 level=1, 那么 root.sg0 被视为存储组(因为 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
    改后生效方式重启服务生效

    文件层配置

    • 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
    默认值1048576
    改后生效方式触发生效
    • max_string_length
    名字max_string_length
    描述针对字符串类型的数据,单个字符串最大长度,单位为字符
    类型Int32
    默认值128
    改后生效方式触发生效
    • float_precision
    名字float_precision
    描述浮点数精度,为小数点后数字的位数
    类型Int32
    默认值默认为 2 位。注意:32 位浮点数的十进制精度为 7 位,64 位浮点数的十进制精度为 15 位。如果设置超过机器精度将没有实际意义。
    改后生效方式触发生效
    • time_encoder
    名字time_encoder
    描述时间列编码方式
    类型枚举 String: “TS_2DIFF”,“PLAIN”,“RLE”
    默认值TS_2DIFF
    改后生效方式触发生效
    • value_encoder
    名字value_encoder
    描述value 列编码方式
    类型枚举 String: “TS_2DIFF”,“PLAIN”,“RLE”
    默认值PLAIN
    改后生效方式触发生效
    • compressor
    名字compressor
    描述数据压缩方法
    类型枚举 String : “UNCOMPRESSED”, “SNAPPY”, “LZ4”
    默认值SNAPPY
    改后生效方式触发生效
    • max_degree_of_index_node
    名字max_degree_of_index_node
    描述元数据索引树的最大度(即每个节点的最大子节点个数)。
    类型Int32
    默认值256
    改后生效方式仅允许在第一次启动服务前修改
    • frequency_interval_in_minute
    名字frequency_interval_in_minute
    描述计算查询频率的时间间隔(以分钟为单位)。
    类型Int32
    默认值1
    改后生效方式触发生效
    • slow_query_threshold
    名字slow_query_threshold
    描述慢查询的时间成本(毫秒ms)阈值。
    类型Int32
    默认值5000
    改后生效方式触发生效

    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
    改后生效方式触发生效

    授权配置

    • authorizer_provider_class
    名字authorizer_provider_class
    描述权限服务的类名
    类型String
    默认值org.apache.iotdb.db.auth.authorizer.LocalFileAuthorizer
    改后生效方式重启服务生效
    其他可选值org.apache.iotdb.db.auth.authorizer.OpenIdAuthorizer
    • openID_url
    名字openID_url
    描述openID 服务器地址 (当 OpenIdAuthorizer 被启用时必须设定)
    类型String(一个 http 地址)
    默认值
    改后生效方式重启服务生效

    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_root_dir
    名字udf_root_dir
    描述取消注释用以下字段来配置udf根目录。
    类型String
    默认值ext/udf(Windows:ext\udf)
    改后生效方式重启服务生效

    索引配置

    • index_root_dir
    名字index_root_dir
    描述取消注释用以下字段来配置索引根目录。
    类型String
    默认值data/index(Windows:data\index)
    改后生效方式重启服务生效
    • enable_index
    名字enable_index
    描述是否启用索引。
    类型Boolean
    默认值false
    改后生效方式重启服务生效
    • concurrent_index_build_thread
    名字concurrent_index_build_thread
    描述有多少线程可以同时构建索引。当<=0时,使用CPU内核数。
    类型Int32
    默认值0
    改后生效方式重启服务生效
    • default_index_window_range
    名字default_index_window_range
    描述索引框架中用于子序列匹配的滑动窗口的默认大小。
    类型Int32
    默认值10
    改后生效方式重启服务生效
    • index_buffer_size
    名字index_buffer_size
    描述索引处理器的缓冲区参数。
    类型Int32
    默认值134217728
    改后生效方式重启服务生效
    • enable_partition
    名字enable_partition
    描述是否开启将数据按时间分区存储的功能,如果关闭,所有数据都属于分区 0 (不建议开启此功能。 如果打开,请计算合适的 concurrent_writing_time_partition 和 wal_buffer_size)
    类型Boolean
    默认值false
    改后生效方式仅允许在第一次启动服务前修改
    • partition_interval
    名字partition_interval
    描述用于存储组分区的时间段长度,用户指定的存储组下会使用该时间段进行分区,单位:秒
    类型Int64
    默认值604800
    改后生效方式仅允许在第一次启动服务前修改
    • virtual_storage_group_num
    名字virtual_storage_group_num
    描述每一个用户定义存储组下虚拟存储组的数量, 虚拟存储组是内存中写入的并行单位,每一个虚拟存储组内的写入请求是串行的,推荐值为: [virtual storage group number] = [CPU core number] / [user-defined storage group number]
    类型INT32
    默认值1
    改后生效方式仅允许在第一次启动服务前修改
    • concurrent_writing_time_partition
    名字concurrent_writing_time_partition
    描述最大可同时写入的时间分区个数,默认500个分区
    类型Int64
    默认值500
    改后生效方式重启服务生效
    • admin_name
    名字admin_name
    描述管理员用户名,默认为root
    类型String
    默认值root
    改后生效方式仅允许在第一次启动服务前修改
    • admin_password
    名字admin_password
    描述管理员密码,默认为root
    类型String
    默认值root
    改后生效方式仅允许在第一次启动服务前修改

    SELECT-INTO配置

    • select_into_insert_tablet_plan_row_limit
    名字select_into_insert_tablet_plan_row_limit
    描述执行 select-into 语句时,一个 insert-tablet-plan 中可以处理的最大行数
    类型Int32
    默认值10000
    改后生效方式触发生效

    触发器配置

    • concurrent_window_evaluation_thread
    名字concurrent_window_evaluation_thread
    描述窗口计算线程池的默认线程数
    类型Int32
    默认值CPU核数
    改后生效方式重启服务生效
    • max_pending_window_evaluation_tasks
    名字max_pending_window_evaluation_tasks
    描述最多允许堆积的窗口计算任务
    类型Int32
    默认值64
    改后生效方式重启服务生效

    连续查询配置

    • continuous_query_execution_thread
    名字continuous_query_execution_thread
    描述执行连续查询任务的线程池的线程数
    类型Int32
    默认值max(1, CPU 核数 / 2)
    改后生效方式重启服务生效
    • max_pending_continuous_query_tasks
    名字max_pending_continuous_query_tasks
    描述队列中连续查询最大任务堆积数
    类型Int32
    默认值64
    改后生效方式重启服务生效
    • continuous_query_min_every_interval

    GC 日志默认是关闭的。为了性能调优,用户可能会需要收集 GC 信息。 若要打开 GC 日志,则需要在启动 IoTDB Server 的时候加上”printgc”参数:

    或者

    GC 日志会被存储在IOTDB_HOME/logs/gc.log. 至多会存储 10 个 gc.log 文件,每个文件最多 10MB。