我在Windows和Centos7机器上安装了ElasticSearchv6.1.0。目标是将数据从Win迁移到Centos7机器。
因为它们都有相同的ES版本,所以我只是将"data“文件夹从机器A拖到B。当我检查它的健康状况时,它的状态是红色的,active_primary_shards是0。所以我扭转了我所做的改变。
还有什么其他方法吗?快照/恢复方法可以用于此目的吗?我认为这是为了在不同版本之间迁移。
那么问题是,在两个具有相同ES版本的服务器之间移动数据的最佳/最简单方法是什么?
发布于 2018-01-28 15:11:30
使用快照/还原
只要您有一个快照/还原或一个单节点集群,您就可以很好地使用共享文件系统来完成这个任务。共享FS应满足以下标准:
为了注册共享文件系统存储库,必须将相同的共享文件系统安装到所有主节点和数据节点上的相同位置。
所以,如果你有一个单节点集群,那就没有问题了。在本例中,只需创建快照并将其复制到其他机器。
但是,如果有许多节点正在运行,则这可能是一项具有挑战性的任务。您可以将其中一个支持插件用于S3、HDFS和其他云存储。
这种方法的优点是,数据和索引是完全快照的。
使用_reindex API
使用API接口将数据从一个ES集群传输到另一个ES集群可能更容易。有一种特殊的从远程重新索引模式,它完全允许这种用例。
reindex实际上所做的是在源索引上添加一个滚动,并大量插入到目标索引(可以是远程的)。
有几个问题你应该处理:
_source,则它们的内容将不会复制到目标索引中。总结
用于快照/还原
优点:
缺点:
对于_reindex
优点:
缺点:
_source中排除的数据将丢失这里还有一个类似的三年前的所以问题。
希望这能帮上忙!
https://stackoverflow.com/questions/48474824
复制相似问题