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

  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. Mask RCNN 源码阅读(update)

    之前看了Google官网的object_dectect 的源码,感觉Google大神写的还不错.最近想玩下Mask RCNN,就看了下源码,这里刚好当做总结和梳理.链接如下: Google官网的obj ...

  2. MySQL的安装流程与入门

    MySQl是一种关系型数据库,存放的是文字数据,它是以“表”的形式进行存储的.由于MySQl的实用性和不收费,它在世界上是应用最多的数据库,但是,它不支持大量数据写入.接下来,我将为大家分享一下我学习 ...

  3. java实现两个不同list对象合并后并排序

    工作上遇到一个要求两个不同list对象合并后并排序1.问题描述从数据库中查询两张表的当天数据,并对这两张表的数据,进行合并,然后根据时间排序.2.思路从数据库中查询到的数据放到各自list中,先遍历两 ...

  4. "Web Scraping with Python"笔记(一)

    1.  合法性:抓取的数据用于个人使用,不存在问题:数据用于转载,需注意抓取的数据类型. 一般情况,抓取的真实数据(营业地址,电话清单等)允许转载.而原创数据(比如意见和评论)受版权限制不能转载. 2 ...

  5. python + Jquery,抓取西东网上的Java教程资源网址

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2018-06-15 14:01:45 # @Author : Chenjun (320 ...

  6. mysql 报错You can't specify target table 'wms_cabinet_form' for update in FROM clause

    这个错误是说从t表select出来的无法又更新t表. 可以在select的时候先取个别名,弄个临时表即可.

  7. 151. Reverse Words in a String翻转一句话中的单词

    [抄题]: Given an input string, reverse the string word by word. Example: Input: "the sky is blue& ...

  8. [leetcode]13. Roman to Integer罗马数字转整数

    Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M. Symbol Value I 1 ...

  9. Python项目--Scrapy框架(二)

    本文主要是利用scrapy框架爬取果壳问答中热门问答, 精彩问答的相关信息 环境 win8, python3.7, pycharm 正文 1. 创建scrapy项目文件 在cmd命令行中任意目录下执行 ...

  10. R 语言安装

    在linux下,对于手动安装的软件,当时间长了,我们就会忘记安装这个软件的细节.这就不利于以后软件的卸载工作了.而yum则会帮我们记住相关安装细节,当软件被卸载的时候,没用的文件也会一并被删除.因此, ...