ElasticSearch是否可以安全地允许每个节点加入群集?

时间:2015-05-05 12:24:32

标签: elasticsearch

ElasticSearch打开端口9300以进行节点到节点的通信,并且同一network中具有相同cluster.name的每台计算机都可以自动加入此群集?

我怀疑允许每个节点加入是否安全?

如果没有,我是否需要将network.host设置为固定的IP地址?或者有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

这实际上取决于节点的网络堆栈以及您与群集的交互方式。如果它们都在本地网络上运行,从外部无法访问,那么一般来说,允许其他节点自由加入是正常的,因为这意味着网络内的某个人正在尝试加入。

但是,如果您的节点具有公共IP地址,则最好更改使用的默认端口,禁用Zen多播发现,并为每个节点提供允许与其通信的其他节点的列表。

直接来自elasticsearch.yml文件:

# 1. Disable multicast discovery (enabled by default):
#
discovery.zen.ping.multicast.enabled: false
#
# 2. Configure an initial list of master nodes in the cluster
#    to perform discovery when new nodes (master or data) are started:
#
discovery.zen.ping.unicast.hosts: ["enter_ip_here","enter_other_ip:port","etc..."]

请注意,所有节点上的这些设置必须相同(显然主机列表除外),并且需要重新启动节点才能将这些设置考虑在内。

此外,您确实可以将network.host设置为固定IP。此IP应该是discovery.zen.ping.unicast.hosts列表中出现的IP。