2017-02-15 84 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