主结点master1,其他结点master2,master3以此类推,把node.name 和cluster.initial_master_nodes修改一下,两者的名称一致。
一般情况下,master1作为主结点,node.data 设置为 false,这里仅为了方便实验。
cluster.name: my-application
node.name: master1
path.data: /usr/esdata
path.logs: /usr/eslogs
network.host: 0.0.0.0
transport.tcp.port: 9300
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
http.cors.allow-headers: X-Requested-With, X-Auth-Token, Content-Type, Content-Length, Authorization, Access-Control-Allow-Headers, Accept
discovery.seed_hosts: ["192.168.40.128:9300", "192.168.40.129:9300", "192.168.40.130:9300"]
cluster.initial_master_nodes: ["master1"]
discovery.zen.minimum_master_nodes: 2
效果如下:
如果发现每个结点都正常连接,但是不能互相发现,那么,就必须先删除所有主机里面的/usr/esdata 文件夹下的nodes文件夹。然后先启动master1,必须等待启动完成以后,再去启动其他结点,避免同时启动,否则永远都无法互相发现。