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. [Database] MAC MySQL中文乱码问题

    1 确保数据库编码设置, 可修改my.cnf mysql> show variables like '%character%'; +--------------------------+---- ...

  2. S7-300 与TP900 组态 棒图 量表 滚动条 滚动条设置的值通过IO输出域显示出来

    切换编程语言 注意 一定要 先选中 某一个组织块 例如 OB1 然后单击 菜单 编辑 切换编程语言 组态 300 PLC 的CPU 点击 SIMENSE LOGO 查看 循环 中断 OB35 可以 在 ...

  3. Android之Context和Activity互相转换

    1.context转换为activity Activity activity = (Activity) context; 2.从activity得到context 在activity的方法中用cont ...

  4. GoJS 友情链接

    目前GoJS官网是学习gojs的最佳选择 GOJS简单示例 GoJS API学习 GoJS组织结构图2 mind map思维导图 组织结构图 GoJS实例1 GoJS实例2 GoJS实例3 GoJS实 ...

  5. struts2--action请求与Action类

    1.action:代表一个sturts2的请求: 2.Action类:能够处理Struts2请求的类: --属性名必须遵守与JavaBean属性名相同的命名规则: --属性的类型可以使任意类型.从字符 ...

  6. IOS TableView 用法

    1.在视图上创建TableView( 拖控件),为ViewController创建UITableView属性(链接至TableView)和NSArray属性(存储数据) ViewController. ...

  7. java对象转换String类型的三种方法

    在很多情况下我们都需要将一个对象转换为String类型.一般来说有三种方法可以实现:Object.toString().(String)Object.String.valueOf(Object).下面 ...

  8. 使用Spring JMS轻松实现异步消息传递

    异步进程通信是面向服务架构(SOA)一个重要的组成部分,因为企业里很多系统通信,特别是与外部组织间的通信,实质上都是异步的.Java消息服务(JMS)是用于编写使用异步消息传递的JEE应用程序的API ...

  9. Cadence套件:Capture + Allegro应用笔记

    1.在Allegro中导入Netlist时,需要进行封装路径的设定: 在Setup->User Preference的Path->Library下面,设定所需封装文件(psm).焊盘文件( ...

  10. 高级IO-锁与进程和文件

    1.进程终止,那么这个进程建立的锁将全部释放 2.无论何时关闭一个与当前进程相关的文件描述符,那么与这个文件相关的当前进程的锁会全部被释放 3.子进程不会继承父进程的锁,子进程需要调用fcntl对继承 ...