2014-10-01 24 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

相关问题