Elasticsearch 核心概念

  1. Cluster

    • 代表一个集群, 集群中有多个节点, 其中一个为主节点, 该节点可以通过选举产生。(主从节点只针对于集群内部)

    • 去中心化: 对于集群外来说无中心节点, 在外部看来, es集群在逻辑上是个整体, 与任何一个节点的通信 <=> 与整个 es 集群通信。

    • 集群内主节点的职责是负责管理集群状态, 包括管理分片的状态和副本的状态, 以及节点的发现与删除

    • 默认情况下 es 会自动发现同一网段内的节点, 自动组成集群

    • 集群状态查看: -http://192.168.x-xxx.xxx:9200/ cluster/health?pretty

  2. Shards

    • 代表索引分片, es 可以把一个完整的索引分成多个2分片, 优势是可以把一个大的索引拆分成多个, 分布到不同的节点上, 构成分布式搜索。

    • 注意: 分片的数量只能在索引创建前指定, 并且索引创建后不能更改。

    • 可以在创建索引库的时候指定:

      • curl -XPUT '192.168.x-xxx.xxx:9200/test1/' -d' {"settings":{"number_of_shards":3}}'
    • 默认一个索引库有5个分片: number_of_shards: 5

  3. Replicas

    • 代表索引副本, es可以给索引设置副本

    • 副本的作用:

      • 提高系统的容错性, 当某个节点某个分片苏怀或丢失时可以从副本中恢复
      • 提高 es 的查询效率, es 会自动对搜索请求进行负载均衡
    • 可以在创建索引库时指定

      • curl -XPUT '192.168.x-xxx.xxx:9200/test2/' -d' {"settings":{"number_of_replicas":2}}'
    • 默认是一个分片有1个副本 (总共有两片): number_of_replicas: 1

  4. Recovery

    • 代表数据恢复(数据重新分布), es 在有节点加入或退出时会根据机器的负载对索引分片进行重新分配, 挂掉的节点重新启动时也会进行数据恢复。
  5. Gateway

    • 代表 es 索引的持久化存储方式, es 默认是先把索引存放到内存中, 当内存满了时再持久化到硬盘。
    • 当该 es 集群关闭再重新启动时就会从 gateway 中读取索引数据。
    • es 支持多种类型的 gateway, 有本地文件系统(default), 分布式文件系统, Hadoop 的 HDFS 和 amazon 的 s3 云存储服务
    • 如果需要将数据落地到hadoop 的 hdfs 需要先安装插件 elasticsearch/elasticsearch-hadoop
  6. Discovery.zen

    • 代表 es 的自动发现节点机制

    • es是一个基于 p2p 的系统, 它先通过广播寻找存在的节点, 再通过多播协议来进行节点之间的通信, 同时也支持点对点的交互。

    • 如果是不同网段的节点如何组成es集群?

      • 禁用自动发现机制: discovery.zen.ping.multicast.enabled: false
      • 设置新节点被启动时能够发现的主节点列表: discovery
  7. Transport

    • 代表 es 内部节点或集群与客户端并的交互方式, 默认内部是使用 tcp 协议进行交互, 同时它支持http协议 (json 格式)、thrift、servlet、memcached、zeroMQ 等的传输协议(通过插件方式集成)。

Elasticsearch核心概念的更多相关文章

  1. ElasticSearch 核心概念

    ElasticSearch核心概念-Cluster ElasticSearch核心概念-shards ElasticSearch核心概念-replicas ElasticSearch核心概念-reco ...

  2. ElasticSearch 全文检索— ElasticSearch 核心概念

    ElasticSearch核心概念-Cluster 1)代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的.es的一个概念就是去中心化,字 ...

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

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

  4. 剖析ElasticSearch核心概念,NRT,索引,分片,副本等

    ElasticSearch 的核心概念 Near RealTime(NRT) 近实时 近实时有两种意思,一种是从写入数据到可以被搜索到有一个小延迟(大概一秒),还有一种就是基于ElasticSearc ...

  5. ElasticSearch核心概念和文档的CRUD

    目录 1. 基本概念 1.1 Node 与 Cluster 1.2 Index 1.3 Document 1.4 Type(将在ES6.0移除) 2. 数据的增删改查 2.1 添加数据 2.2 查询数 ...

  6. Elasticsearch学习之基本核心概念

    在Elasticsearch中有许多术语和概念 1. 核心概念 Elasticsearch集群可以包含多个索引(indices)(数据库),每一个索引可以包含多个类型(types)(表),每一个类型包 ...

  7. ElasticSearch(二)核心概念

    elasticsearch核心概念 (1)Near Realtime(NRT):近实时,两个意思,从写入数据到数据可以被搜索到有一个小延迟(大概1秒):基于es执行搜索和分析可以达到秒级 (2)Clu ...

  8. ElasticSearch学习笔记-01 简介、安装、配置与核心概念

    一.简介 ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进 ...

  9. Elasticsearch笔记四之配置参数与核心概念

    在es根目录下有一个config目录,在此目录下有两个文件分别是elasticsearch.yml和logging.yml. logging.yml是日志文件,es也是使用log4j来记录日志的,我在 ...

随机推荐

  1. python之函数名称空间,作用域,嵌套函数

    目录 嵌套函数 定义 名称空间的三大类(只存变量名) 名称空间加载顺序 变量名的查找顺序为 作用域 嵌套函数 定义 函数内部定义的函数,无法在函数外部使用内部定义的函数. def f1(): def ...

  2. Vue 前后台交互,插件

    目录 Vuex 插件 前端存储数据汇总 前后台交互方式(重点) axios 插件 同源策略-跨域问题 前后台分离项目交互流程 异步请求细节 Element-ui 插件 jQ + Bs插件 Django ...

  3. robotframework+appium 实现App自动化值环境搭建(一)

    第一步: Cmd命令输入pip install robotframework-appiumlibrary  下载和导入appiumlibrary 第二步: 安装JDK,附件有JDK1.8安装包 第三步 ...

  4. Mybatis入门(五)属性名和字段名不一致解决

    在学Mybatis的时候都需要创建一个实体类,但创建实体类的变量必须和数据库的一样,这章就来解决这个有趣的问题 目录: 问题是这样: 输出的结果是: password为空,这就很难受: 解决方法: 第 ...

  5. pyhon 内置函数

    chr()   asci码 dir()  目录,显示目录. divmod(10,3)   返回商和余数   例如  (3, 1)   返回的为一个元组    可以用于分页 enumerate()    ...

  6. Linux 补丁 的简单使用: 制作补丁,打补丁,撤销补丁

    ​ 背景: 补丁的使用对于嵌入式开发人员来说,在维护或者开发中都比较方便. 制作补丁: diff - 逐行比较文件. 格式: diff 参数 旧文件/旧文件夹 新文件/新文件夹 (注意顺序 新旧文件夹 ...

  7. POJ - 1061 青蛙的约会 (扩展欧几里得求同余式)

    题意:两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件很重要的事情,既没有问清楚对 ...

  8. 第3节 sqoop:4、sqoop的数据导入之导入数据到hdfs和导入数据到hive表

    注意: (1)\001 是hive当中默认使用的分隔符,这个玩意儿是一个asc 码值,键盘上面打不出来 (2)linux中一行写不下,可以末尾加上 一些空格和 “ \ ”,换行继续写余下的命令: bi ...

  9. spring#事件发布订阅

    1. 如果在应用中发生了某些事件,事件会被拦截和处理就好了,这样就有了很大的灵活性,至少代码不会紧密的耦合在一起, 代码的解耦就是业务的解耦,业务A的代码不用手动的调用业务B的代码,业务B只需要监听相 ...

  10. <强化学习>基于采样迭代优化agent

    前面介绍了三种采样求均值的算法 ——MC ——TD ——TD(lamda) 下面我们基于这几种方法来 迭代优化agent 传统的强化学习算法 || ν ν 已经知道完整MDP——使用价值函数V(s) ...