我在Windows和Centos7计算机上安装了Elastic Search v6.1.0。目标是将数据从Win迁移到Centos7机器。
由于它们都具有相同的ES版本,我只需将“数据”文件夹从机器A拖到B.当我检查其运行状况时,其状态为红色,active_primary_shards为0.所以我改变了我所做的更改。
还有哪些其他方法?可以使用快照/恢复方法吗?我认为这是为了在不同版本之间进行迁移。
所以问题是,在具有相同ES版本的2台服务器之间移动数据的最佳/最简单方法是什么?
答案 0 :(得分:3)
只要您拥有snapshot/restore或单节点群集,就可以完美地使用shared file system执行此任务。共享FS应符合以下标准:
为了注册共享文件系统存储库,这是必要的 将相同的共享文件系统挂载到所有主服务器上的相同位置 和数据节点。
如果您拥有单节点群集,那么这不是问题。在这种情况下,只需创建一个快照并将其复制到其他计算机上。
如果有许多节点在运行,那么这可能是一项具有挑战性的任务。 您可以使用supported plugins中的一个用于S3,HDFS和其他云存储。
这种方法的优点是数据和索引完全是快照的。
_reindex
API 使用_reindex
API将数据从一个ES群集传输到另一个ES群集可能更容易。有一种特殊的Reindex from Remote模式可以准确地使用这个用例。
reindex实际上做的是源索引上的scroll和目标索引的大量插入(可以是远程的)。
您应该注意几个问题:
_source
,则其内容不会被复制到目标索引优点:
缺点:
_reindex
优点:
缺点:
_source
中排除的数据将会丢失这也是三年前的类似SO question。
希望有所帮助!