如何在弹性搜索集群中启动2个节点?

时间:2017-11-26 00:46:45

标签: node.js elasticsearch configuration

我无法找到有关使2个节点服务器在弹性搜索集群中运行的良好信息。

我只想清楚地解释我必须在elastic.yml配置文件中运行哪些命令或我必须更改的内容。

1 个答案:

答案 0 :(得分:0)

假设您没有使用自动发现:

所有节点都相同

cluster.name: My-Cluster-Name

特定每个节点

node.name: [node name]
network.host: [hostname]
http.port: 92xx 
transport.tcp.port: 93xx

(如果它们在同一主机上运行,​​则需要不同的端口。如果它们在两个不同的主机上运行,​​则可以使用相同的端口号)

discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["server1:9300","server2:9300","server2:9301"]

在此列出群集中具有host:port

的所有节点
discovery.zen.minimum_master_nodes: 2
#This must be set to minimum (number of nodes/2) + 1 to avoid "split brains". I.e. for two or three nodes you would set it to 2
discovery.zen.fd.ping_timeout: 600s

不是强制性的,但如果网络出现问题,您不希望群集开始过于恐慌

重点是,如果不使用多播发现,所有节点都需要知道所有其他节点的主机和端口,并且必须在elasticsearch.yml文件中设置。如果每个主机只使用一个节点,则可以使用默认的9200和9300端口。

设置节点后,您只需启动它们并检查输出。他们应该记录他们已找到其他节点,并且您可以使用_cat / nodes API查看活动节点:

http://server1:9200/_cat/nodes?v&h=id,ip,port,v,m,d,fdp,r,get.current,n,u

每个节点都应拥有自己的elasticsearch软件副本,并将自己的数据存储在/ data文件夹中。