Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


初始化启动


启动脚本:start-pnodecnode.sh


配置项:iotdb-PartitionNodeConfigNode.properties

  • PartitionNode 列表 List<hostname:clusterPort>(如有高可用需求建议配置 3 副本)
  • 每个存储组对应多少VSG、MManager
  • 负载均衡策略
  • 共识算法


启动流程

  • 读取配置信息中的 PartitionNode ConfigNode 列表,列表长度为初始复制组副本数
  • 检查配置信息是否一致
  • 如果一致,组建 PartitionNode ConfigNode 复制组


增加节点


启动脚本:add-pnodecnode.sh


配置项:iotdb-PartitionNodeConfigNode.properties

  • PartitionNode ConfigNode 列表 List<hostname:clusterPort>(只需要配置一个 PartitionNode)


启动流程

  • 读取配置信息的 PartitionNode ConfigNode 列表
  • PartitionNode ConfigNode 列表中的任意一个发送增加节点命令
  • PartitionNode ConfigNode 复制组确认增加节点,将分区数据同步到新加入的 PartitionNode ConfigNode 节点


停机流程


停机意味着某节点临时停机,复制组中的节点数保持不变。

  • PartitionNode ConfigNode 共识组记录此 PartitionNode ConfigNode A 即将停机
  • 如果 PartitionNode ConfigNode A 为 Leader,则将 Leader 迁移到另一台 PartitionNode B
  • PartitionNode ConfigNode A 进程退出


移除流程


移除意味着从复制组中删除此节点,复制组节点数目减一。

  • PartitionNode ConfigNode 共识组记录此 PartitionNode ConfigNode A 即将移除即将移除;
  • 需要根据副本数和节点数关系判断是否可以执行移除操作;
  • 如果 PartitionNode ConfigNode A 为 Leader,则将 Leader 迁移到另一台 PartitionNode ConfigNode B
  • PartitionNode ConfigNode 共识组将 PartitionNode ConfigNode A 移除,共识组成员数减一
  • PartitionNode ConfigNode A 进程退出