THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
增加 DataNode
每个 DataNode 是独立加入集群的,不相互依赖,只依赖 PartitionNode。
...
- 读取本地数据信息(VSG/MManager)
- 向 PartitionNode 汇报本节点硬件信息和数据负载,加入集群并检查 DataNode 内的数据是否有效,PartitionNode 进行如下检查
- PartitionNode 识别该 DataNode 是否已在集群中
- 如果不在集群中,进行扩容操作,调整每个存储组的最大 VSG 个数,改为当前集群总核数/副本数,并创建新的 VSG
- 如果已在集群中,记录节点信息
- 触发负载均衡策略
- PartitionNode 识别该 DataNode 是否已在集群中
- 如果本节点的 VSG/MManager 已在某共识组内且有效,恢复共识组,并向 PartitionNode 汇报恢复的共识组
停掉 DataNode
停机流程
- 向 PartitionNode 共识组汇报此 DataNode A 即将停机
- PartitionNode 记录此信息,后续请求避免路由到此节点
- 此 DataNode 共识组记录此信息
- 如果 DataNode A 为 Leader,则将 Leader 迁移到另一台 DataNode B
- DataNode A 进程退出
移除 DataNode
移除流程
用户操作:通过客户端向集群发送命令,指定删除某节点
...