• ES环境安装、健康值检查及CRUD


    一、ES横向扩容方案

    横向扩容方案一:

    横向扩容方案二:

    二、ES容错机制

    1、容错:各种情况下都能保证工作正常运行

         在局部出错异常的情况下,保证服务正常运行并且有自行恢复能力

    2、ES的角色

      ① Master:主节点,每个集群都有且只有一个

        尽量避免Master节点 node.data = true

      ②voting投票节点

        Node.voting_only = true

        仅投票节点,即使配置了data.master = true,也不会参选, 但是仍然可以作为数据节点

      ③coordinating:协调节点

        每一个节点都隐式的是一个协调节点

        如果同时设置了data.master = false和data.data=false,那么此节点将成为仅协调节点

      ④Master-eligible node(候选节点):一般情况下在集群中候选节点的数量和投票节点相同

      ⑤ Data node(数据节点):进行数据交互工作

    3、容错图解

    第一步:Master选举

      ①脑裂:可能会产生多个Master节点

      ② 解决:discovery.zen.minimum_master_nodes=N/2+1

    第二步:Replica容错 

      新的(或者原有)Master节点会将丢失的Primary对应的某个副本提升为Primary

    第三步:重启故障机

    第四步:数据恢复

      Master会将宕机期间丢失的数据同步到重启机器对应的分片上去

      如上图横向扩容方案二所示,假设P0所在机器宕机,则其他机器中P0对应的副本分片(假设为R2-0)升级为主分片承担写操作(副本分片只能读,主分片既能读又能写)

      在R2-0副本分片升级为主分片,故障机重启成功的这段时间内,会有新增的数据写到R2-0中,当宕机机器重启成功后,R2-0会把新增的数据拷贝到P0中

    4、脑裂

    如上图所示,假设集群中有两台机器,这两台机器位于不同机房,这时网络断开,es中一个节点发现没有了Master节点,会发起投票,将自己选为Master节点。一段时间后网络重连成功,就出现了两台Master节点,这就是脑裂。

    5、解决脑裂

    如果候选节点(node.master = true)的节点有偶数个,那么es会将其中一个节点排除在投票节点之外

    三、ES配置文件

    ①设置主节点:node.master:true(在主节点宕机后有竞选主节点的资格)

    ②进行数据存储:node.data:true

    一共会出现4种组合:

    1、①②都为true:既有主节点的竞选资格又有数据存储功能

    2、①为false②为true:只存储数据

    3、①为true②为false:只担当主节点

    4、①②都为false:协调节点,做负载均衡(转发),请求过来后转发到下一节点

    注意:一般来说master节点不用做数据存储节点

       在学习时尽量使用默认配置,如果修改默认配置,es会认为你从开发模式切换到生产模式

    四、集群健康值检查

    1、Green:所有PShard和RShard都处于活跃状态

    2、Yellow:当前集群中至少有一个RShard不可用

    3、Red:至少有一个PShard不可用

    五、安装

    1、es安装

    2、node 安装

    3、kibana安装

    六、CRUD

    1、创建索引:PUT /索引?Pretty

    2、查询索引:GET _cat/索引?v

    3、删除索引:DELETE /索引/Pretty

    4、插入数据:

      PUT /索引/_doc/id

      {

        Json数据

      }

    5、更新数据

      ① 全量替换:按照插入时的数据格式编辑并执行,在需要修改的位置修改数据

      ② 指定字段更新

        POST /索引/_doc/1/_update

        {

          "doc":{

            "price":2999

            }

        }

    6、删除数据: DELETE /index/type/id

    7、查询数据:GET /索引/_search

    8、条件查询:GET /索引/_search?q=price:2999&sort=price:asc

  • 相关阅读:
    【纯水题】POJ 1852 Ants
    【树形DP】BZOJ 1131 Sta
    【不知道怎么分类】HDU
    【树形DP】CF 1293E Xenon's Attack on the Gangs
    【贪心算法】CF Emergency Evacuation
    【思维】UVA 11300 Spreading the Wealth
    【树形DP】NOI2003 逃学的小孩
    【树形DP】BZOJ 3829 Farmcraft
    【树形DP】JSOI BZOJ4472 salesman
    【迷宫问题】CodeForces 1292A A NEKO's Maze Game
  • 原文地址:https://www.cnblogs.com/lyc-code/p/13647398.html
Copyright © 2020-2023  润新知