跳至主要內容

DataNode 配置参数

...大约 10 分钟

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)open in new window

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

  • MEMORY_SIZE
名字MEMORY_SIZE
描述IoTDB DataNode 启动时分配的内存大小
类型String
默认值取决于操作系统和机器配置。默认为机器内存的二分之一。
改后生效方式重启服务生效
  • ON_HEAP_MEMORY
名字ON_HEAP_MEMORY
描述IoTDB DataNode 能使用的堆内内存大小, 曾用名: MAX_HEAP_SIZE
类型String
默认值取决于MEMORY_SIZE的配置。
改后生效方式重启服务生效
  • OFF_HEAP_MEMORY
名字OFF_HEAP_MEMORY
描述IoTDB DataNode 能使用的堆外内存大小, 曾用名: MAX_DIRECT_MEMORY_SIZE
类型String
默认值取决于MEMORY_SIZE的配置
改后生效方式重启服务生效
  • 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
改后生效方式重启服务生效

SSL 配置

  • enable_thrift_ssl
名字enable_thrift_ssl
描述当enable_thrift_ssl配置为true时,将通过dn_rpc_port使用 SSL 加密进行通信
类型Boolean
默认值false
改后生效方式重启服务生效
  • enable_https
名字enable_https
描述REST Service 是否开启 SSL 配置
类型Boolean
默认值false
改后生效方式重启生效
  • key_store_path
名字key_store_path
描述ssl证书路径
类型String
默认值""
改后生效方式重启服务生效
  • key_store_pwd
名字key_store_pwd
描述ssl证书密码
类型String
默认值""
改后生效方式重启服务生效

目标 Config Nodes 配置

  • dn_seed_config_node
名字dn_seed_config_node
描述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_connection_timeout_ms
名字dn_connection_timeout_ms
描述节点连接超时时间
类型int
默认值60000
改后生效方式重启服务生效
  • 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"参数:

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

或者

sbin\start-datanode.bat printgc

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

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
改后生效方式重启生效
  • trust_store_path
名字trust_store_path
描述keyStore 密码(非必填)
类型String
默认值""
改后生效方式重启生效
  • trust_store_pwd
名字trust_store_pwd
描述trustStore 密码(非必填)
类型String
默认值""
改后生效方式重启生效
  • idle_timeout
名字idle_timeout
描述SSL 超时时间,单位为秒
类型int32
默认值5000
改后生效方式重启生效

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.