DataNode 配置参数

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

  • datanode-env.sh/bat:环境配置项的配置文件,可以配置 DataNode 的内存大小。
  • iotdb-datanode.properties:IoTDB DataNode 和单机版的配置文件。

热修改配置项

为方便用户使用,IoTDB 为用户提供了热修改功能,即在系统运行过程中修改 iotdb-datanode.properties 和 iotdb-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
默认值 0.0.0.0
改后生效方式 重启服务生效
  • 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 中对应磁盘空余空间最大的目录; 您可以通过以下方法完成用户自定义策略: 1. 继承 org.apache.iotdb.db.storageengine.rescon.disk.strategy.DirectoryStrategy 类并实现自身的 Strategy 方法; 2. 将实现的类的完整类名(包名加类名,UserDefineStrategyPackage)填写到该配置项; 3. 将该类 jar 包添加到工程中。
类型 String
默认值 SequenceStrategy
改后生效方式 热加载
  • dn_consensus_dir
名字 dn_consensus_dir
描述 IoTDB 共识层日志存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。
类型 String
默认值 data/datanode/consensus(Windows:data\datanode\consensus)
改后生效方式 重启服务生效
  • dn_wal_dirs
名字 dn_wal_dirs
描述 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。