克隆一个elasticsearch docker
我有以下设置:
- 一个es-docker(现场)
- 一个es-docker(工作)
所以我希望工作的docker可以运行一些数据修改,并将其保存在es应用程序中。 (这些更改将会持续几个小时)。
在完成这些更改后,我希望复制工作泊坞窗(包含所有数据)并覆盖实时泊坞窗。
所以我可以在几个小时内运行这些更改,而不会发生停机时间(或简单的停机时间)。
但是我不知道如何“复制”原来包含的所有数据。
谢谢你的提示。
Elasticsearch权威指南概述了使用索引别名 来实现像您的用例一样的零停机时间的过程 。
这个想法是创build一个索引别名,您的应用程序将始终用来访问实时数据。
给定一个名为“alias1”的别名,指向名为“index1”的索引,执行以下步骤:
- 创build一个名为“index2”的新索引
- 运行你的批量索引过程
- 交换“alias1”指向“index2”
- 清理“index1”
别名交换发生在一次调用中,Elasticsearch以primefaces方式执行操作,为您提供所需的零停机时间。 这个调用看起来像这样:
POST /_aliases { "actions" : [ { "remove" : { "index" : "index1", "alias" : "alias1" } }, { "add" : { "index" : "index2", "alias" : "alias1" } } ] }