在ApacheIgnite中将数据从一个节点移动到同一集群中的另一个节点

在ApacheIgnite中将数据从一个节点移动到同一集群中的另一个节点,ignite,distributed-caching,Ignite,Distributed Caching,在一个由8个节点组成的基线集群中,我们在分区模板中拥有数据,而无需备份。假设我在中的所有8个节点中都有平均28K个条目SampleTable@Cache. 总数据=28K*8=224K个条目 创建表格SampleTable。。。。使用模板=分区 现在,我想关闭一个节点,在关闭之前,我想将数据从第8个节点移动到其他节点,以便将大约32K 32K*7=224K个条目移动到7个节点。我可以将数据从任何节点移动到其他节点吗 在关闭一个节点之前,如何将所有数据从一个节点移动到其他节点群集?在rest 7节

在一个由8个节点组成的基线集群中,我们在分区模板中拥有数据,而无需备份。假设我在中的所有8个节点中都有平均28K个条目SampleTable@Cache. 总数据=28K*8=224K个条目

创建表格SampleTable。。。。使用模板=分区

现在,我想关闭一个节点,在关闭之前,我想将数据从第8个节点移动到其他节点,以便将大约32K 32K*7=224K个条目移动到7个节点。我可以将数据从任何节点移动到其他节点吗

在关闭一个节点之前,如何将所有数据从一个节点移动到其他节点群集?在rest 7节点中保持数据平衡和分布

我使用create语句创建了表SampleTable,并使用insert语句使用JDBC连接插入了数据

已启用持久性。

只有在群集中配置了备份>0时,下面描述的方法才会起作用

要从基线拓扑中删除节点并在您能够使用的其余7个节点之间重新平衡数据,请执行以下操作:

停止要从拓扑中删除的节点

等待节点停止。日志中应显示消息Ignite node stopped OK(点火节点已停止正常)

检查节点是否脱机:

$IGNITE_HOME/bin/control.sh-基线

从基线拓扑中删除节点:
$IGNITE_HOME/bin/control.sh-基线删除

我认为最直接的方法是使用备份。 无论如何,如果您需要避免数据丢失,那么必须使用备份或/和持久性

作为一个简单的解决方法,您可以尝试以下步骤:

您可以使用ScanQuery扫描要关闭的节点上的本地数据,并将数据存储在数据库中。 之后,关闭节点并将其从基线中排除。 从数据库上传数据。
如果未启用备份,则在停止任何节点并从基线中删除时,将丢失数据。停止要从拓扑中删除的节点。正在使用ignitevisorcmd.sh实用程序。@rai2048,您是对的。对不起,我错过了有关备份号码的信息。只有在群集中配置了备份时,这才有效。
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.