我无法找到有关使2个节点服务器在弹性搜索集群中运行的良好信息。
我只想清楚地解释我必须在elastic.yml配置文件中运行哪些命令或我必须更改的内容。
答案 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文件夹中。