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输出三位数以内的水仙花数

    num = 100 while num <= 999: a = num % 10 #取个位数 b = num // 10 % 10 #取十位数 c = num // 100 #取百位数 if n ...

  2. Immediate Decodability[UVA644](Trie入门)

    传送门 题意:给出一些数字串,判断是否有一个数字串是另一个串的前缀. 这题真的可以算是Trie树的一道模板题了. 先把Trie树建好,建树的时候记录一个sum表示一个节点有多少个串会包含此节点,然后再 ...

  3. MyBatis 学习二之简单练习巩固

    1.新建一个maven项目并在pom.xml中添加依赖 2.项目架构   配置文件:SqlMapConfig.xml <?xml version="1.0" encoding ...

  4. linux上实现jmeter分布式压力测试(转)

    摘要:最近根据公司工作的需求,学习了一些压力测试的知识,目前,公司使用的是jmeter进行压力测试.下面就记录下近期的学习.我想将这次的博文分成三个部分:1.开始测试前的准备(测试环境的搭建)2.在一 ...

  5. Python学习第七课——集合(set) 和 字符串拼接

    集合(set) # 2 无序 # 3 集合中元素必须是不可变类型 # 定义集合 s = {1,2,3,4,5} print(s) # 输出结果 {1, 2, 3, 4, 5} # 1 集合由不同元素组 ...

  6. springboot#配置文件处理

    1. 加载自定义属性文件 2. 通过bean聚合相关属性 1. 在启动类上通过如下注解可以加载自定义的属性文件 @PropertySource(value = {"classpath:pro ...

  7. php 实现店铺装修7

    type_id=0的情况 type_id=1的情况                         type_id=2的情况 /** * @title 店铺装修--商品分类 * @param type ...

  8. Windows下配置多个Git账号

    1. 为什么会用多个git账号? 不同git账号对应不同代码托管平台,如:github.bitbucket.gitlab.gitee(码云)等 2个GitHub账号,用于测试(最近需求,之前没研究过g ...

  9. vue-i18n突然所有的都解析不出来了

    因为浏览器cookie缓存的语言标志与代码中不一致

  10. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 按钮:按钮标签

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...