elasticsearch:添加副本的步骤?

时间:2015-05-20 00:19:35

标签: elasticsearch

我们有一台正在生产的ES服务器。

我们现在想在另一个DC中添加一个副本,作为热/热备用故障转移。

我知道如何在mongo,redis等上执行此操作,但似乎无法找到有关如何对ES执行此操作的文档。 (ES文档似乎假设系统都在同一个子网上等)

1 个答案:

答案 0 :(得分:3)

Elasticsearch以云形式存在,意味着如果您拥有副本,它们就会成为主 - 主模式。如果一台服务器停机,其他服务器将自动接管。索引文档时,它也会在返回之前在副本中编制索引,从而保持数据的一致性。

群集可以包含零个或多个副本,并且可以使用更新设置api配置运行时,如下所示

curl -XPUT 'localhost:9200/your_index/_settings' -d '
{
    "index" : {
        "number_of_replicas" : 1
    }
}'

只有在有足够的节点运行时才会创建副本(分片的副本永远不会存在于与其主要节点相同的节点中)。如果无法分配副本,您的群集将进入黄色状态。

在新DC中启动一个具有相同群集名称的新弹性搜索节点。 如果使用默认配置,则无需进行任何更改,除非为节点创建相同的群集名称以发现彼此,否则可能需要在网络配置中进行更改。

警告:建议不要在单独的DC中为同一群集创建副本或弹性搜索节点,因为网络延迟会影响性能。而且它可能会影响集群的稳定性。

如果您打算在单独的DC中备份数据,可以考虑使用snapshot