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. 配置<welcome-file>为自定义路径

    welcome-file是web.xml中的一个配置,其作用是配置启动项目时默认跳转的欢迎页面,一般我们会将其指定为一个静态页面. 那如果我们要将自定义的请求路径作为欢迎页面该怎么做呢? 1.配置we ...

  2. sklearn实现决策树算法

    1.决策树算法是一种非参数的决策算法,它根据数据的不同特征进行多层次的分类和判断,最终决策出所需要预测的结果.它既可以解决分类算法,也可以解决回归问题,具有很好的解释能力.另外,对于决策树的构建方法具 ...

  3. js 字符串 常用处理方式(检索、截取、拼接、批量替换)

    // 检索(字符串中判断是否包含某个字符) 字符串.search('检索的内容');// 返回-1,不包含: 返回非-1,包含 字符串.indexOf("待判断的内容"); // ...

  4. onchange VS onblur

    参考:https://zhidao.baidu.com/question/559052179.html

  5. MySQL复制(一)--复制概述

    MySQL复制(replication)文档集合:1.复制概述2.基于二进制日志文件位置(binlog)配置复制3.基于全局事物标识符(GTID)配置复制4.多源复制5.级联复制6.半同步复制7.延迟 ...

  6. Java注解浅谈

    注解定义(来自百度百科):指示编译器如何对待您的自定义 Annotation,预设上编译器会将Annotation资讯留在class档案中,但不被虚拟机器读取,而仅用于编译器或工具程式运行时提供资讯. ...

  7. 第一个Vue.js案例

    第一个Vue.js案例 使用Vue有如下几步 引入文件头 加入数据输出框 创建Vue对象,定义数据 案例: <!DOCTYPE html> <html lang="en&q ...

  8. 常用keycode列表

    KEYCODE列表 电话键   KEYCODE_CALL 拨号键 5 KEYCODE_ENDCALL 挂机键 6 KEYCODE_HOME 按键Home 3 KEYCODE_MENU 菜单键 82 K ...

  9. JMeter-响应断言设置

    针对如上请求,可以设置3种相应断言: 1. 2. 3.

  10. Python测试进阶——(3)编写Python程序监控计算机的服务是否正常运行

    用python写了个简单的监控进程的脚本,当发现进程消失的时候,立即调用服务,开启服务. 脚本的工作原理是这样的:脚本读取配置文件,读取预先配置好的调用系统服务的路径和所要监控的服务在进程管理器中的进 ...