Elasticsearch集群配置
1. 安装配置es,安装请看第一篇,配置文件修改如下
[root@linux-node2 es-data]# grep -v '^#' /etc/elasticsearch/elasticsearch.yml cluster.name: myes #集群名称要一致 node.name: linux-node2 #节点名称 path.data: /data/es-data path.logs: /var/log/elasticsearch bootstrap.mlockall: true network.host: 192.168.56.12 http.port: 9200 discovery.zen.ping.unicast.hosts: ["192.168.56.11","192.168.56.12"] #单播配置,后边可以指定端口,默认为组播方式
2. es集群通信方式
组播(默认)
启动会主动去寻找其它节点,通过cluster.name:myes定义加入到组中相互通信,在一个集群中会选举一个主节点master,来管理集群状态,数据不通过主节点转发,ES集群是无中心的。
单播
信息的接收和传递只在指定节点之间进行
3. 启动es
[root@linux-node2 ~]# systemctl start elasticsearch [2017-03-22 23:28:09,262][INFO ][http ] [linux-node2] publish_address {192.168.56.12:9200}, bound_addresses {192.168.56.12:9200} [2017-03-22 23:28:09,262][INFO ][node ] [linux-node2] started
4. 查看es集群
5. 使用curl查看集群的状态
[root@linux-node1 ~]# curl -XGET 'http://192.168.56.11:9200/_cluster/health?pretty=true' { "cluster_name" : "myes", "status" : "green", "timed_out" : false, "number_of_nodes" : 2, "number_of_data_nodes" : 2, "active_primary_shards" : 7, "active_shards" : 14, "relocating_shards" : 0, "initializing_shards" : 0, "unassigned_shards" : 0, "delayed_unassigned_shards" : 0, "number_of_pending_tasks" : 0, "number_of_in_flight_fetch" : 0, "task_max_waiting_in_queue_millis" : 0, "active_shards_percent_as_number" : 100.0 }
注意:
主分片丢失会从副分片中选举,复制副分片数据给主分片。
当有请求连接上某节点,集群就会把分片数据汇集到这个节点上,提供服务。