• ElasticSearch核心知识总结(二)


    如何超出扩容极限,以及如何提升容错性

    1. primary&replica自动负载均衡,6个shared,3个primary,3个replica,随着机器扩容,会被均衡分配到多台机器上
    2. 6个shared,要扩容到9台机器,增加replica shared数量,primary shared数量是不能变得,只能增加replica,变成3个P,6个R,这样可以增加吞吐量
    3. 若从两台服务器到3台服务器,replica需要6个,P还是3个,可以容错两台服务器宕机,否则3个P,3个R能容忍一台服务器宕机

    Elasticsearch容错机制,master选举,replica容错,数据恢复

    1. 9 shared,3node,master node宕机->red,自动master选举
    2. replica容错,新master将replica提升为primary shared->yellow
    3. 重启宕机node,master copy replica到该node,使用原有的shared并同步宕机后的修改

    初步解析document的核心元数据:_index,_type,_id

    1. _index:
      • 代表document存放在哪个index中
      • 类似的数据放在一个索引,非类似的数据放入不同索引,product index(包含了所有的商品),sales index(包含了所有的商品销售数据)
      • index中包含了很多类似的document:类似指的这些document的fields很大一部分是相同的
      • 索引名称必须是小写的,不能用下划线开头,不能包含逗号
    2. _type:
      • 代表document属于index中的哪个类别
      • 一个索引通常会划分为多个type,逻辑上对index中有些许不同的几类数据进行分类
      • type名称可以是大些或者小写,但是同时不能用下划线开头,不能包含逗号
    3. _id:
      • 代表document的唯一标识,与index和type一起,可以唯一标识和定位一个document
      • 我们可以手动指定document的id,也可以不指定,由es自动创建一个id

    指定document_id

    1. 手动指定document_id
      • 应用情况来说,是否满足手动指定document_id的前提:一般来说,是从某些其他的系统中导入一些数据到es时,会采取这种方式,使用系统中已有的数据的唯一标识作为document_id。
      • put /index/type/id
    2. 自动生成document_id
      • post /index/type 使用POST不加id号

    _source元数据

    1. 默认情况下,get的时候,request body会全部返回
    2. get /index/type/id?_source=field1,filed2 指定field返回

    如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的推荐按钮。
    如果,您希望更容易地发现我的新博客,不妨点击一下【关注我】。

    我的写作热情也离不开您的肯定支持,感谢您的阅读,我是【老梁】!

  • 相关阅读:
    自考-信息系统开发与管理(一)首篇概述
    html乱码问题
    Failed to create client: error while trying to communicate with apiserver: 报错解决
    Helm(bitnami)部署zookeeper和kafka集群
    Helm部署RabbitMQ集群
    Kubernetes通过插件,自动发现注册Rabbitmq集群
    Kubernetes使用operator安装Redis集群
    Kubernetes部署单Redis
    Kubernetes搭建RooK+Ceph
    Kubernetes的服务质量(QoS)
  • 原文地址:https://www.cnblogs.com/sky-chen/p/9950669.html
Copyright © 2020-2023  润新知