2014-10-01 28 views
1

在服務器上運行的elasticsearch實例正在運行,並且所有默認值都沒有更改。在另一臺計算機上添加輔助節點?

如何水平伸縮到另一個網絡上的另一臺服務器?

你在哪裏指定?

我只在配置目錄中看到一個elasticsearch.yml文件,我必須爲每個羣集/節點創建一個新的配置文件等我想啓用?配置文件似乎只用於一個實例。我如何告訴它將它用作網絡外的主服務器和輔助服務器作爲輔助實例?

回答

1

在另一個節點上,像往常一樣安裝ES,根據網絡特徵和偏好,可以更改或不更改兩個ES實例的elasticsearch.yml中的內容。

ES在網絡上默認使用多播來發現同一羣集中的節點。集羣由您可以在elasticsearch.yml文件中找到的「cluster.name」屬性定義。具有相同「cluster.name」的節點將加入同一個羣集。如果使用多播,則需要確保首先多播在您的網絡配置中可用,然後您沒有防火牆或任何其他可能會阻止節點間通信的事物(如端口54328)。

您還可以使用單播來發現節點,其中每個節點的地址在elasticsearch.yml中指定。有關詳細信息,請檢查elasticsearch.yml文件,因爲它對這些設置有很好的描述。例如,禁用多播:

discovery.zen.ping.multicast.enabled: false

,並配置單播:

discovery.zen.ping.unicast.hosts: ["host1", "host2:port"]

+0

好吧,我想我明白這個正確使用你的答案的最後一行,以定義輔助節點的方式主辦?所有其他設置應該用於本地實例? .yml文件只適用於一臺es服務器,而不是更多。所以我猜在同一臺機器上我想要的每個節點都必須位於es的附加實例/安裝中? – 2014-10-01 13:06:30

+0

不,您還可以對不在同一臺機器/節點上的節點使用多播。默認情況下,ES使用224.2.2.4組進行多播。在另一個節點上安裝ES並作爲同一集羣的一部分意味着要安裝另一個ES。使用多播時,兩個ES實例的.yml文件可以保持不變。使用單播時,一個節點需要擁有集羣其他成員的地址和端口。單播和多播是ES集羣的兩種不同選擇。你可以使用其中一個。 – 2014-10-01 15:25:45

相關問題