跳至主要內容

参考

...大约 35 分钟

参考

配置参数

为方便 IoTDB Server 的配置与管理,IoTDB Server 为用户提供三种配置项,使得用户可以在启动服务或服务运行时对其进行配置。

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

配置文件的说明如下:

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

  • iotdb-engine.properties:IoTDB 引擎层系统配置项的默认配置文件。用户可以在文件中配置 IoTDB 引擎运行时的相关参数,如 JDBC 服务监听端口 (rpc_port)、overflow
    数据文件存储目录 (overflow_data_dir) 等。此外,用户可以在文件中配置 IoTDB 存储时 TsFile 文件的相关信息,如每次将内存中的数据写入到磁盘时的数据大小 (group_size_in_byte)
    ,内存中每个列打一次包的大小 (page_size_in_byte) 等。

热修改配置项

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

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

环境配置项

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

  • JMX_LOCAL
名字JMX_LOCAL
描述JMX 监控模式,配置为 true 表示仅允许本地监控,设置为 false 的时候表示允许远程监控。如想在本地通过网络连接JMX Service,比如nodeTool.sh会尝试连接127.0.0.1:31999,请将JMX_LOCAL设置为false。
类型枚举 String : “true”, “false”
默认值true
改后生效方式重启服务生效
  • 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。
改后生效方式重启服务生效

系统配置项

系统配置项是 IoTDB Server 运行的核心配置,它主要用于设置 IoTDB Server 文件层和引擎层的参数,便于用户根据自身需求调整 Server
的相关配置,以达到较好的性能表现。系统配置项可分为两大模块:文件层配置项和引擎层配置项。用户可以通过iotdb-engine.properties, 文件查看和修改两种配置项的内容。在 0.7.0 版本中字符串类型的配置项大小写敏感。

RPC配置

  • 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
名字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
默认值100000
改后生效方式重启服务生效
  • concurrent_flush_thread
名字concurrent_flush_thread
描述当 IoTDB 将内存中的数据写入磁盘时,最多启动多少个线程来执行该操作。如果该值小于等于 0,那么采用机器所安装的 CPU 核的数量。默认值为 0。
类型Int32
默认值0
改后生效方式重启服务生效
  • concurrent_query_thread
名字concurrent_query_thread
描述当 IoTDB 对内存中的数据进行查询时,最多启动多少个线程来执行该操作。如果该值小于等于 0,那么采用机器所安装的 CPU 核的数量。默认值为 16。
类型Int32
默认值0
改后生效方式重启服务生效
  • concurrent_sub_rawQuery_thread
名字concurrent_sub_rawQuery_thread
描述原始数据查询时,最多启动多少个线程来执行该操作。如果设置小于等于 0,会采用机器 CPU 核数。
类型Int32
默认值0
改后生效方式重启服务生效
  • 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_total_size
描述每个时间序列标签和属性的最大持久化字节数
类型Int32
默认值700
改后生效方式仅允许在第一次启动服务前修改
  • 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
改后生效方式重启服务生效
  • schema_query_fetch_size
名字schema_query_fetch_size
描述默认的一次元数据查询返回的最大条目数,例如show timeseries。
类型Int32
默认值10000000
改后生效方式重启服务生效

升级配置

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

水印模块配置

  • 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
名字continuous_query_min_every_interval
描述连续查询执行时间间隔的最小值
类型duration
默认值1s
改后生效方式重启服务生效

开启 GC 日志

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

nohup sbin/start-server.sh printgc >/dev/null 2>&1 &

或者

sbin\start-server.bat printgc

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

Copyright © 2024 The Apache Software Foundation.
Apache IoTDB, IoTDB, Apache, the Apache feather logo, and the Apache IoTDB project logo are either registered trademarks or trademarks of The Apache Software Foundation in all countries

Have a question? Connect with us on QQ, WeChat, or Slack. Join the community now.