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

  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返回

ElasticSearch核心知识总结(二)的更多相关文章

  1. ElasticSearch核心知识 -- 索引过程

    1.索引过程图解: api向集群发送索引请求,集群会使用负载均衡节点来处理该请求,如果没有单独的负载均衡点,master节点会充当负载均衡点的角色. 负载均衡节点根据routing参数来计算要将该索引 ...

  2. c++11-17 模板核心知识(二)—— 类模板

    类模板声明.实现与使用 Class Instantiation 使用类模板的部分成员函数 Concept 友元 方式一 方式二 类模板的全特化 类模板的偏特化 多模板参数的偏特化 默认模板参数 Typ ...

  3. ElasticSearch核心知识总结(一)es的六种搜索方式和数据分析

    es的六种搜索方式 query string search GET /ecommerce/product/_search //查询所有数据 { "took": 4,//耗费几毫秒 ...

  4. elasticsearch核心知识梳理

    https://blog.csdn.net/laoyang360/article/details/52244917

  5. Elasticsearch核心知识大纲脑图

  6. c++11-17 模板核心知识(十二)—— 模板的模板参数 Template Template Parameters

    概念 举例 模板的模板参数的参数匹配 Template Template Argument Matching 解决办法一 解决办法二 概念 一个模板的参数是模板类型. 举例 在c++11-17 模板核 ...

  7. c++11-17 模板核心知识(十五)—— 解析模板之依赖型类型名称与typename Dependent Names of Types

    模板名称的问题及解决 typename规则 C++20 typename 上篇文章c++11-17 模板核心知识(十四)-- 解析模板之依赖型模板名称 Dependent Names of Templ ...

  8. Elasticsearch入门教程(二):Elasticsearch核心概念

    原文:Elasticsearch入门教程(二):Elasticsearch核心概念 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:ht ...

  9. Docker 与 K8S学习笔记(二)—— 容器核心知识梳理

    本篇主要对容器相关核心知识进行梳理,通过本篇的学习,我们可以对容器相关的概念有一个全面的了解,这样有利于后面的学习. 一.什么是容器? 容器是一种轻量级.可移植.自包含的软件打包技术,使应用程序可以在 ...

随机推荐

  1. Codeforces Round #438 A. Bark to Unlock

    题意:给你一个原串和n个子串,问你这n个子串任意组合起来能不能使原串出现,串的长度为2. Examples Input ya4ahoytoha Output YES Input hp2http Out ...

  2. xml文件中&符号需要转义为&

    xml文件中&符号需要转义为&

  3. Ambari2.7.3 和HDP3.1.0搭建Hadoop集群

    一.环境及软件准备 1.集群规划   hdp01/10.1.1.11 hdp02/10.1.1.12 hdp03/10.1.1.13 hdp04/10.1.1.14 hdp05/10.1.1.15 a ...

  4. Curator的cluster,实现多节点数据共享

    模拟两个客户端,实现多节点数据共享 package bjsxt.curator.cluster; import org.apache.curator.RetryPolicy; import org.a ...

  5. Linux驱动之同步、互斥、阻塞的应用

    同步.互斥.阻塞的概念: 同步:在并发程序设计中,各进程对公共变量的访问必须加以制约,这种制约称为同步. 互斥机制:访问共享资源的代码区叫做临界区,这里的共享资源可能被多个线程需要,但这些共享资源又不 ...

  6. Nodejs初识随笔

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效. Node.js 单线程运行,不 ...

  7. ios 学习路线总结

    学习方法 面对有难度的功能,不要忙着拒绝,而是挑战一下,学习更多知识. 尽量独立解决问题,而不是在遇到问题的第一想法是找人. 多学习别人开源的第三方库,能够开源的库一定有值得学习的地方,多去看别的大神 ...

  8. Linux 第十二天

    文件系统 1.分区类型 主分区:总共最多只能分四个 扩展分区:只能有一个,也算作主分区的一种,也就是说主分区加扩展分区最多有四个.但是扩展分区不能存储数据和格式化,必须再划分成逻辑分区才能使用. 逻辑 ...

  9. suse下修改主机名

    export HOSTNAME=主机名 echo $HOSTNAME>/etc/HOSTNAME /etc/rc.d/boot.localnet stop /etc/rc.d/boot.loca ...

  10. 高效率php注意事项

    1.尽量静态化: 如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍. 当然了,这个测试方法需要在十万级以上次执行,效果才明显. 其实静态方法和非静态方法的 ...