跳至主要內容

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配置为true时,将通过dn_rpc_port使用 SSL 加密进行通信
类型Boolean
默认值false
改后生效方式重启服务生效
  • enable_https
名字cache_init_num
描述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 and the Apache feather logo are trademarks of The Apache Software Foundation

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

We use Google Analytics to collect anonymous, aggregated usage information.