我在 Windows 和 Centos7 机器上安装了 Elastic Search v6.1.0。目标是将数据从Win迁移到Centos7机器。
由于它们都有相同的 ES 版本,我只需将“data”文件夹从机器 A 拖到 B 即可。当我检查其运行状况时,其状态为红色,active_primary_shards 为 0。因此我撤消了所做的更改。
还有哪些其他方法?可以使用快照/恢复方法来实现此目的吗?我认为这是为了在不同版本之间迁移。
所以问题是,在具有相同 ES 版本的两台服务器之间移动数据的最佳/最简单方法是什么?
只要您有共享文件系统或单节点集群,您就可以完美地使用快照/恢复来完成此任务。共享 FS 应满足以下条件:
为了注册共享文件系统存储库,需要将相同的共享文件系统安装到所有主节点和数据节点上的相同位置。
因此,如果您有单节点集群,这不是问题。在这种情况下,只需制作快照并将其复制到其他计算机即可。
如果您有许多节点正在运行,这可能是一项具有挑战性的任务。您可以使用 S3、HDFS 和其他云存储支持的插件之一。
这种方法的优点是数据和索引是完整的快照。
_reindexAPI使用_reindexAPI将数据从一个 ES 集群传输到另一个 ES 集群可能会更容易。有一个特殊的“远程重新索引”模式可以满足这种用例。
重新索引实际上所做的是源索引上的滚动和对目标索引(可以是远程的)的大量批量插入。
您应该注意以下几个问题:
_source那么它们的内容将不会复制到目标索引优点:
缺点:
_reindex优点:
缺点:
_source将会丢失这也是大约三年前的一个类似的问题。
希望有帮助!
| 归档时间: |
|
| 查看次数: |
3157 次 |
| 最近记录: |