ElasticSearch 集群

1,ES 为什么要实现集群

    1, 随着业务量的增大,索引逐渐增大,如果在单台ES 服务器上,由于索引所占内存过大,肯定会影响性能

    2, 集群的还有一个好处就是可与备份,如果只有一个服务,挂了,整个ES 服务就挂了

2,ES 如何实现集群

     在ES 实现集群中,有一个很重要的技术就是分片技术shards。

     一个索引可以分成多个分片,默认是5片。并且每个分片可以拥有多个副本replicas

    

       解析:因为是3台机器集群

       1,一个索引被分成了3个分片

       2,每个分片有三台副本

       3,每台服务,通过分片 和  副本 能够组成一个完整的索引,也就意味着,不能把同一个分片,和他的副本放在一块,如果这台机器宕机,就会丢失信息了

       4,副本的作用:一是提高系统的容错性,当某个节点某个分片损坏或丢失时可以从副本中恢复。二是提高es的查询效率,es会自动对搜索请求进行负载均衡

 

3,ES 集群环境搭建

      

vi elasticsearch.yml
cluster.name: myes  ###保证三台服务器节点集群名称相同
node.name: node-1 #### 每个节点名称不一样 其他两台为node-2 ,node-3
network.host: 192.168.178.110 #### 实际服务器ip地址
discovery.zen.ping.unicast.hosts: ["192.168.178.110", "192.168.178.118","192.168.178.119"]##多个服务集群ip
discovery.zen.minimum_master_nodes: 1

关闭防火墙 systemctl stop firewalld.service
默认底层开启9300 集群
验证集群效果
http://192.168.178.110:9200/_cat/nodes?pretty


注意克隆data文件会导致数据不同步
报该错误解决办法 
failed to send join request to master
因为克隆导致data文件也克隆呢,直接清除每台服务器data文件

posted @ 2019-09-03 10:07  Chris,Cai  阅读(272)  评论(0编辑  收藏  举报