【发布时间】:2019-03-20 03:01:26
【问题描述】:
我的应用程序使用 Apache Ignite 持久存储。几个星期以来,我运行了存储持久数据的应用程序,比如说“c:\db1”。后来我用 c:\db2 中的持久数据运行了同一个应用程序。数据仅存储在这一个服务器节点上。 有没有办法将 db1 文件夹中的数据合并到 db2 文件夹中?
【问题讨论】:
标签: ignite
我的应用程序使用 Apache Ignite 持久存储。几个星期以来,我运行了存储持久数据的应用程序,比如说“c:\db1”。后来我用 c:\db2 中的持久数据运行了同一个应用程序。数据仅存储在这一个服务器节点上。 有没有办法将 db1 文件夹中的数据合并到 db2 文件夹中?
【问题讨论】:
标签: ignite
不,你不能,至少不容易。
最好的方法是两个在独立集群中启动两个节点,一个使用c:\db1,一个使用c:\db2,并从一个到另一个流数据:
大致这样传输数据(代码未经测试!)
IgniteCache cache1 = client1.cache("mycache");
IgniteCache cache2 = client2.cache("mycache");
for (Cache.Entry e : cache1.query(new ScanQuery())) {
client2.put(e.getKey(), e.getValue());
}
【讨论】: