2017-02-15 83 views
2

有谁知道如何告诉Elastic Search停止节点到节点的通信,然后重新启动它..在我的系统中,我想告诉它停止,直到某个条件然后重新启动通信(同步数据)ElasticSearch Clusters设置

回答

0

通过节点到节点的通信,你的意思是数据同步和分片重定位?

如果是,您可以使用群集设置API将cluster.routing.allocation.enable设置为none

如果您不是指数据同步,您可以通过阻止端口9300(或ES用于内部通信的端口)来实现此目的。

0

请注意,任何节点离开集群将导致elasticsearch重新平衡分片和副本。由于集群需要通过将现有数据复制到其余节点来完成分片和副本设置,因此任何节点丢失时总体集群负载会增加。因此,如果操作经常发生,额外的空间将被消耗额外的碎片和副本。

如果您完全了解影响,则可以尝试分片分配筛选。例如,从集群中排除的主机的IP 10.0.0.1:

不是IP
PUT _cluster/settings 
{ 
    "transient" : { 
    "cluster.routing.allocation.exclude._ip" : "10.0.0.1" 
    } 
} 

其他,你可以使用节点名称或主机名来排除该节点为好。

你可以在这里找到完整的文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/allocation-filtering.html