[英]Moving data from one node to other node in same cluster in Apache Ignite
在一个由8个节点组成的基准集群中,分区模板中的数据没有备份。 假设我在SampleTable(@Cache)的所有8个节点中平均有28K个条目。 总数据= 28K * 8 = 224K条目。
用“ template = partitioned”创建表SampleTable(....)
现在,我想关闭一个节点,然后在关闭之前,我想将数据从第8个节点移至其他节点,因此将大约32K(32K * 7 = 224K)条目移至7个节点。 我可以将数据从任何节点移动到其他节点吗?
在关闭该节点之前,如何将所有数据从一个节点移至其他节点(群集)? 在其余7个节点中保持数据平衡和分布。
我使用create语句创建了表(SampleTable),并使用insert语句(使用JDBC连接)插入了数据。
持久性已启用。
我认为最直接的方法是使用备份。 无论如何,如果您需要避免数据丢失,则必须使用备份(或持久性)。
作为一种简单的解决方法,您可以尝试以下步骤:
仅当群集中配置了备份(> 0)时,以下描述的方法才有效。
要从基准拓扑中删除一个节点并在其余7个节点之间重新平衡数据,您可以使用集群激活工具 :
停止要从拓扑中删除的节点。
等待节点停止。 消息Ignite node stopped OK
应该出现在日志中。
检查节点是否脱机:
$IGNITE_HOME/bin/control.sh --baseline
Cluster state: active
Current topology version: 8
Baseline nodes:
ConsistentID=<node1_id>, STATE=ONLINE
ConsistentID=<node2_id>, STATE=ONLINE
...
ConsistentID=<node8_id>, STATE=OFFLINE
--------------------------------------------------------------------------------
Number of baseline nodes: 8
Other nodes not found.
$IGNITE_HOME/bin/control.sh --baseline remove <node8_id>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.