IOTDB双节点部署

设置最大打开文件数为65535,以避免出现 "太多的打开文件 "的错误。

bash 复制代码
sysctl -w net.core.somaxconn=65535

#双节点集群配置模板(两台机器通用) 通用配置:iotdb-common.properties

#集群名称(所有节点必须一致)

cluster_name=my_iotdb_cluster

#元数据副本数(双节点集群设为2)

schema_replication_factor=2

#数据副本数(双节点集群设为2)

data_replication_factor=2

#共识协议配置(保持默认即可)

config_node_consensus_protocol_class=org.apache.iotdb.consensus.ratis.RatisConsensus

schema_region_consensus_protocol_class=org.apache.iotdb.consensus.ratis.RatisConsensus

data_region_consensus_protocol_class=org.apache.iotdb.consensus.iot.IoTConsensus

节点 A 配置(ConfigNode 配置:iotdb-confignode.properties)

#当前节点内部通信地址

cn_internal_address=节点AIP

cn_internal_port=10710

cn_consensus_port=10720

#Seed-ConfigNode 指向自身

cn_target_config_node_list=节点AIP :10710

DataNode 配置:iotdb-datanode.properties

#客户端RPC地址

dn_rpc_address=节点AIP

dn_rpc_port=6667

#内部通信地址

dn_internal_address=节点AIP

dn_internal_port=10730

dn_mpp_data_exchange_port=10740

dn_data_region_consensus_port=10750

dn_schema_region_consensus_port=10760

#连接ConfigNode的地址

dn_target_config_node_list=节点AIP:10710

节点 B配置(ConfigNode 配置:iotdb-confignode.properties)

#当前节点内部通信地址

cn_internal_address=节点BIP

cn_internal_port=10710

cn_consensus_port=10720

#指向已运行的Seed-ConfigNode

cn_target_config_node_list=节点AIP:10710

DataNode 配置:iotdb-datanode.properties

#客户端RPC地址

dn_rpc_address=节点BIP

dn_rpc_port=6667

#内部通信地址

dn_internal_address=节点BIP

dn_internal_port=10730

dn_mpp_data_exchange_port=10740

dn_data_region_consensus_port=10750

dn_schema_region_consensus_port=10760

#连接ConfigNode的地址

dn_target_config_node_list=节点AIP:10710

一键启动脚本(⚠️ 注意:必须先在节点 A 执行脚本,等待 ConfigNode 完全启动后,再在节点 B 执行,否则节点 B 的 ConfigNode 可能无法正常加入集群。)

bash 复制代码
#!/bin/bash

# ===================== 配置项(根据你的实际路径修改)=====================
IOTDB_HOME="部署路径修改"  # IoTDB安装根目录
LOG_DIR="${IOTDB_HOME}/logs"   # 日志存储目录

# ===================== 确保日志目录存在 =====================
mkdir -p ${LOG_DIR}

# ===================== 1. 后台启动 ConfigNode =====================
echo "正在后台启动 ConfigNode..."
nohup bash ${IOTDB_HOME}/sbin/start-confignode.sh > ${LOG_DIR}/confignode_nohup.log 2>&1 &

# 等待3秒,确保ConfigNode完全启动
sleep 3

# 检查ConfigNode是否启动成功
if jps | grep -q ConfigNode; then
  echo "ConfigNode 后台启动成功,日志路径:${LOG_DIR}/confignode_nohup.log"
else
  echo "ConfigNode 启动失败,请查看日志:${LOG_DIR}/confignode_nohup.log"
  exit 1
fi

# ===================== 2. 后台启动 DataNode =====================
echo "正在后台启动 DataNode..."
nohup bash ${IOTDB_HOME}/sbin/start-datanode.sh > ${LOG_DIR}/datanode_nohup.log 2>&1 &

# 等待3秒,确保DataNode完全启动
sleep 3

# 检查DataNode是否启动成功
if jps | grep -q DataNode; then
  echo "DataNode 后台启动成功,日志路径:${LOG_DIR}/datanode_nohup.log"
else
  echo "DataNode 启动失败,请查看日志:${LOG_DIR}/datanode_nohup.log"
  exit 1
fi

echo "=================================================="
echo "集群节点后台启动完成!"
echo "可用 jps | grep -E 'ConfigNode|DataNode' 查看进程状态"
echo "=================================================="

启动顺序说明

先启动节点 A 的 ConfigNode

再启动节点 B 的 ConfigNode

最后启动两台机器的 DataNode

验证连接任意节点的 CLI

相关推荐
TDengine (老段)2 天前
通过云服务 快速体验 TDengine
大数据·数据库·物联网·时序数据库·tdengine·涛思数据·iotdb
倔强的石头1062 天前
边缘侧时序数据的选型指南:网络不稳定、数据不丢、回传可控——用 Apache IoTDB 设计可靠链路
网络·apache·iotdb
todoitbo2 天前
时序数据库选型指南:面向工业物联网的工程视角,以 Apache IoTDB 为例
物联网·apache·时序数据库·iotdb
枫叶丹42 天前
时序数据库选型指南:在大数据浪潮中把握未来,为何Apache IoTDB值得关注?
大数据·数据库·apache·时序数据库·iotdb
Apache IoTDB9 天前
Apache IoTDB 入选国家重点研发计划高新技术成果产业化试点
iotdb
码农阿豪11 天前
时序数据库选型权威指南:从大数据视角解读IoTDB的核心优势
大数据·时序数据库·iotdb
小学鸡!14 天前
针对DBeaver连接IoTDB时无法连接的情况,没有IoTDB驱动,无法连接表模型
iotdb
颜颜yan_15 天前
时序数据库选型与实战:IoTDB 在工业物联网场景下的上手与踩坑总结
物联网·时序数据库·iotdb
熊文豪15 天前
时序数据库选型指南:工业物联网时代的数据管理之道
数据库·物联网·时序数据库·iotdb