Elasticsearch建立多机集群

Elasticsearch建立多机集群

通过discovery.zen.ping.unicast.hosts: [“host1”, “host2:port”, “host3[portX-portY]”]
设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点。

  1. 选取10.122.4.79这台机器做为client node,elasticsearch.yml中的配置如下:

    cluster.name: elsearch
    node.name: node1
    network.bind_host: 10.122.4.79
    network.host: 0.0.0.0
    transport.tcp.port: 9300
    
    # logs
    path.data: /data/elasticsearch-5.1.2/data
    path.logs: /data/elasticsearch-5.1.2/logs
    
    # allow origin
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    
    # masterNode and dataNode
    node.master: true
    node.data: true
    
    discovery.zen.ping.unicast.hosts: ["10.122.4.79"]

    注意端口不是9200,而是9300。也可以不写端口。
    启动10.90.4.9上的es服务器,现在只是一个单机集群。

  2. 在10.122.4.88这台机器上配置好同样的ES作为master node,elasticsearch.yml中的配置如下:

    cluster.name: elsearch
    node.name: node1
    network.bind_host: 10.122.4.88
    network.host: 0.0.0.0
    transport.tcp.port: 9300
    
    # logs
    path.data: /data/elasticsearch-5.1.2/data
    path.logs: /data/elasticsearch-5.1.2/logs
    
    # allow origin
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    
    # masterNode and dataNode
    node.master: false
    node.data: true
    
    discovery.zen.ping.unicast.hosts: ["10.122.4.79"]

    此时,两台机器的集群已经配置完毕。

node.master 和 node.data 的详解:Elasticsearch负载均衡节点

注意:第二台机器安装的Elasticsearch是由第一台复制的,那么此时启动第二台机器的Elasticsearch时会报如下错误:
Elasticsearch建立多机集群_第1张图片
产生这种错误的原因是因为,第二台机器的Elasticsearch中data文件夹和logs文件夹中的内容是第一台机器中Elasticsearch中的数据,所以解决此问题的方法是删除,data文件夹和logs文件夹中的所有文件。

完成以上处理后,先启动第一台机器的Elasticsearch服务,然后启动第二台机器的服务,最后启动Elasticsearch-head工具;通过head查看配置的集群情况
Elasticsearch建立多机集群_第2张图片

你可能感兴趣的:(elasticsearch)