DataNode 配置参数

IoTDB DataNode 与 Standalone 模式共用一套配置文件,均位于 IoTDB 安装目录:conf文件夹下。

  • datanode-env.sh/bat:环境配置项的配置文件,可以配置 DataNode 的内存大小。

  • iotdb-datanode.properties:IoTDB DataNode 和单机版的配置文件。

热修改配置项

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

通过 Session 或 Cli 发送 load configuration 命令(SQL)至 IoTDB 可触发配置热加载。

环境配置项(datanode-env.sh/bat)DataNode配置参数 - 图1open in new window

环境配置项主要用于对 DataNode 运行的 Java 环境相关参数进行配置,如 JVM 相关配置。DataNode/Standalone 启动时,此部分配置会被传给 JVM,详细配置项说明如下:

  • 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。
改后生效方式重启服务生效
  • MAX_DIRECT_MEMORY_SIZE
名字MAX_DIRECT_MEMORY_SIZE
描述IoTDB 能使用的最大堆外内存大小
类型String
默认值默认与最大堆内存相等
改后生效方式重启服务生效
  • 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
改后生效方式重启服务生效

系统配置项(iotdb-datanode.properties)

系统配置项是 IoTDB DataNode/Standalone 运行的核心配置,它主要用于设置 DataNode/Standalone 数据库引擎的参数。

Data Node RPC 服务配置

  • dn_rpc_address
名字dn_rpc_address
描述客户端 RPC 服务监听地址
类型String
默认值127.0.0.1
改后生效方式重启服务生效
  • dn_rpc_port
名字dn_rpc_port
描述Client RPC 服务监听端口
类型Short Int : [0,65535]
默认值6667
改后生效方式重启服务生效
  • dn_internal_address
名字dn_internal_address
描述DataNode 内网通信地址
类型string
默认值127.0.0.1
改后生效方式重启服务生效
  • dn_internal_port
名字dn_internal_port
描述DataNode 内网通信端口
类型int
默认值10730
改后生效方式重启服务生效
  • dn_mpp_data_exchange_port
名字dn_mpp_data_exchange_port
描述MPP 数据交换端口
类型int
默认值10740
改后生效方式重启服务生效
  • dn_schema_region_consensus_port
名字dn_schema_region_consensus_port
描述DataNode 元数据副本的共识协议通信端口
类型int
默认值10750
改后生效方式重启服务生效
  • dn_data_region_consensus_port
名字dn_data_region_consensus_port
描述DataNode 数据副本的共识协议通信端口
类型int
默认值10760
改后生效方式重启服务生效
  • dn_join_cluster_retry_interval_ms
名字dn_join_cluster_retry_interval_ms
描述DataNode 再次重试加入集群等待时间
类型long
默认值5000
改后生效方式重启服务生效

目标 Config Nodes 配置

  • dn_target_config_node_list
名字dn_target_config_node_list
描述ConfigNode 地址,DataNode 启动时通过此地址加入集群
类型String
默认值127.0.0.1:10710
改后生效方式重启服务生效

连接配置

  • dn_session_timeout_threshold
名字dn_session_timeout_threshold
描述最大的会话空闲时间
类型int
默认值0
改后生效方式重启服务生效
  • dn_rpc_thrift_compression_enable
名字dn_rpc_thrift_compression_enable
描述是否启用 thrift 的压缩机制
类型Boolean
默认值false
改后生效方式重启服务生效
  • dn_rpc_advanced_compression_enable
名字dn_rpc_advanced_compression_enable
描述是否启用 thrift 的自定制压缩机制
类型Boolean
默认值false
改后生效方式重启服务生效
  • dn_rpc_selector_thread_count
名字rpc_selector_thread_count
描述rpc 选择器线程数量
类型int
默认值1
改后生效方式重启服务生效
  • dn_rpc_min_concurrent_client_num
名字rpc_min_concurrent_client_num
描述最小连接数
类型Short Int : [0,65535]
默认值1
改后生效方式重启服务生效
  • dn_rpc_max_concurrent_client_num
名字dn_rpc_max_concurrent_client_num
描述最大连接数
类型Short Int : [0,65535]
默认值65535
改后生效方式重启服务生效
  • dn_thrift_max_frame_size
名字dn_thrift_max_frame_size
描述RPC 请求/响应的最大字节数
类型long
默认值536870912 (默认值512MB,应大于等于 512 1024 1024)
改后生效方式重启服务生效
  • dn_thrift_init_buffer_size
名字dn_thrift_init_buffer_size
描述字节数
类型long
默认值1024
改后生效方式重启服务生效
  • dn_core_client_count_for_each_node_in_client_manager
名字dn_core_client_count_for_each_node_in_client_manager
描述单 ClientManager 中路由到每个节点的核心 Client 个数
类型int
默认值200
改后生效方式重启服务生效
  • dn_max_client_count_for_each_node_in_client_manager
名字dn_max_client_count_for_each_node_in_client_manager
描述单 ClientManager 中路由到每个节点的最大 Client 个数
类型int
默认值300
改后生效方式重启服务生效

目录配置

  • dn_system_dir
名字dn_system_dir
描述IoTDB 元数据存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。
类型String
默认值data/datanode/system(Windows:data\datanode\system)
改后生效方式热加载
  • dn_data_dirs
名字dn_data_dirs
描述IoTDB 数据存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。
类型String
默认值data/datanode/data(Windows:data\datanode\data)
改后生效方式热加载
  • dn_multi_dir_strategy
名字dn_multi_dir_strategy
描述IoTDB 在 data_dirs 中为 TsFile 选择目录时采用的策略。可使用简单类名或类名全称。系统提供以下三种策略:
1. SequenceStrategy:IoTDB 按顺序选择目录,依次遍历 data_dirs 中的所有目录,并不断轮循;
2. MaxDiskUsableSpaceFirstStrategy:IoTDB 优先选择 data_dirs 中对应磁盘空余空间最大的目录;
3. MinFolderOccupiedSpaceFirstStrategy:IoTDB 优先选择 data_dirs 中已使用空间最小的目录;
4. UserDefineStrategyPackage(用户自定义策略)
您可以通过以下方法完成用户自定义策略:
1. 继承 org.apache.iotdb.db.conf.directories.strategy 类并实现自身的 Strategy 方法;
2. 将实现的类的完整类名(包名加类名,UserDefineStrategyPackage)填写到该配置项;
3. 将该类 jar 包添加到工程中。
类型String
默认值MaxDiskUsableSpaceFirstStrategy
改后生效方式热加载
  • dn_wal_dir
名字dn_wal_dir
描述IoTDB 写前日志存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。
类型String
默认值data/datanode/wal(Windows:data\datanode\wal)
改后生效方式热加载
  • dn_tracing_dir
名字dn_tracing_dir
描述IoTDB 追踪根目录路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。
类型String
默认值datanode/tracing
改后生效方式热加载
  • dn_sync_dir
名字dn_sync_dir
描述IoTDB sync 存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。
类型String
默认值data/datanode/sync
改后生效方式热加载

Metric 配置

开启 GC 日志

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

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

或者

  1. sbin\start-datanode.bat printgc

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