ElasticSearch基础3之高可用集群

  • ES为什么要实现集群
    在单台ES服务器节点上,随着业务量的发展索引文件慢慢增多,会影响到效率和内存存储问题等。
    我们可以采用ES集群,将单个索引的分片到多个不同分布式物理机器上存储,从而可以实现高可用、容错性等
  • ES是如何解决高并发

    ES是一个分布式全文检索框架,隐藏了复杂的处理机制,内部使用 分片机制、集群发现、分片负载均衡请求路由。

    Shards 分片:代表索引分片,es可以把一个完整的索引分成多个分片,这样的好处是可以把一个大的索引拆分成多个,分布到不同的节点上。构成分布式搜索。分片的数量只能在索引创建前指定,并且索引创建后不能更改。

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

  • ES集群核心原理分析:
     
     每个索引会被分成多个分片shards进行存储,默认创建索引是分配5个分片进行存储,每个分片都会分布式部署在多个不同的节点上进行部署,该分片成为primary shards 主分片。
       查看索引分片信息http://192.168.127.132:9200/basic/_settings
       注意:索引的主分片数量定义好后,不能被修改(待会讲)
    每一个主分片为了实现高可用,都会有自己对应的备分分片,主分片对应的备分片不能存放同一台服务器上,主分片可以和其他备分片存放在同一个node节点上。
  1. http://192.168.127.132:9200/basic/_settings
     结果
    {"basic":{"settings":{"index":{"creation_date":"1567934971740","number_of_shards":"5","number_of_replicas":"1","uuid":"uwxVEjp0QoaOQAh4BFpYJw","version":{"created":"6040399"},"provided_name":"basic"}}}}
    "number_of_shards":"5"    主分片5个
     "number_of_replicas":"1" 副分片1个
  • ElasticSearch集群环境搭建 
     
     准备3台服务器192.168.2.108、192.168.2.111、192.168.2.112
  1. 修改3台服务器配置如下
     
    cd /usr/local/elasticsearch6.4/config
    vi elasticsearch.yml
    ########################修改配置如下#################
    cluster.name: mytest  ###三台服务器节点集群名称相同
    node.name: node-1   #### 每个节点名称不一样 其他两台为node-2 ,node-3
    network.host: 192.168.2.108 #### 当前部署的服务器ip地址
    discovery.zen.ping.unicast.hosts: ["192.168.2.108", "192.168.2.111","192.168.2.112"] ###多个服务集群ip
    discovery.zen.minimum_master_nodes: 1  ###最小节点3台都设为1
    关闭防火墙 systemctl stop firewalld.service
  2. 启动elasticSearch
    注意: 我的3台服务器是克隆过来的,/usr/local/elasticsearch6.4/data的文件也被克隆过来了,这样会导致数据不同步,一定要先删除3台服务器data目录下的nodes文件或者克隆前先删除: rm -rf nodes
    // 切换非root用户启动
    su xiaobo
    // 启动
    ./elasticsearch

     

  3. 测试
     访问: http://192.168.2.108:9200/_cat/nodes?pretty
     
     *号表示为master节点 

     在127节点添加数据
     在133节点查询数据
     停掉133节点测试 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值