转载请标明出处:http://donlianli.iteye.com/blog/1905552
熟悉ES中的几个关键概念:
节点(Node):一个elasticsearch运行的实例,其实就是一个java进程。一般情况下,一台机器运行在一台机器上。
集群(Cluster): 好几个有相同集群名称的节点(Node)。
索引(Index):有点象数据库。
类型(Type):可以看做是数据库中的表
分片(Shard):就是一个lucene index。每个index都会划分成几个shard。每个shard可能是主shard或者是一个副本(replica)。
具体lucene我也不熟悉,但是反复读了3篇关于这些概念呢的解释,大概对ES的这些概念有了一点理解。
在ES中创建索引时(就相当于创建一个数据库),ES会默认为这个数据库创建5个分片,这5个分片都是主分片,每个分片又默认创建一个副本(replica)。当向这个数据库插入记录时,ES会根据内定规则,判断这个记录应该记录到哪个分片上。
再来说说replica。当只有一个es的节点时,默认replica是不存在的,ES只有发现有两台不同IP的ES实例时,才会创建副本(replica),其实这个副本也算一个shard。内容跟原来的shard完全一样,但是这个副本不会进行插入等操作。
每启动一个ES实例(即java进程)。ES会自动对分片进行重划分。当运行了两个ES实例,ES默认会将分片进行重平衡,比如启动了两个ES实例,则5个分片被不均衡的重分到两个实例上。最终其中一个实例上,有3个主分片。另外一个实例上,有2个主分片。另外还有一套副本,也被均分在这两个实例上,也就是说,两个实例共10个shard。如果你扩展到10个实例,那么,每个实例将只有一个shard。
以上只是个人理解。有理解不正确的地方,还请指出,谢谢!
参考资料:
http://stackoverflow.com/questions/15694724/shards-and-replicas-in-elasticsearch
http://elasticsearch-users.115913.n3.nabble.com/Shards-and-replicas-td2819984.html
相关推荐
Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎,无论在开源还是专有领域,Lucene可以被认为是...本文涉及Elasticsearch的一些基本概念以及操作。还重点总结了安装过程中遇到的一些问题以及解决方案。
内容涵盖 ES安装、ES基本概念和数据类型、Mysql 到 ES 数据同步、SpringBoot 操作 ES。可初步认识ES,理解ES的一些适用场景,以及如何使用springboot来同ES进行交互 1、ElasticSearch概念和适用场景 2、Elastic...
一、基本概念 cluster 整个elasticsearch 默认就是集群状态,整个集群是一份完整、互备的数据。 node 集群中的一个节点,一般只一个进程就是一个node shard 分片,即使是一个节点中的数据也会通过...
在这篇资源中,我们将详细介绍如何使用DSL...最后,我们将分享一些实用技巧和最佳实践,帮助您充分发挥DSL在Elasticsearch中的优势。我们将探讨性能优化、查询调试和索引优化等关键主题,以提升查询效率和搜索准确性。
ES集群的基本概念 Cluster 代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。es的一个概念就是去中心化,字面上理解就是无中心节点,这是对于...
《我所理解的Cocos2d-x》针对最新的 Cocos2d-x 3.x版本,介绍了Coco2d-x游戏引擎的基本架构、渲染机制,以及各个子模块的功能和原理,并结合OpenGL ES图形渲染管线,深入探讨了游戏开发中涉及的相关图形学的知识,...
《我所理解的Cocos2d-x》针对最新的 Cocos2d-x 3.x版本,介绍了Coco2d-x游戏引擎的基本架构、渲染机制,以及各个子模块的功能和原理,并结合OpenGL ES图形渲染管线,深入探讨了游戏开发中涉及的相关图形学的知识,...
通过学习Spark,我了解了其基本概念和核心组件,如RDD(弹性分布式数据集)、Spark SQL、Spark Streaming和MLlib等。我学会了使用Spark编写分布式的数据处理程序,并通过调优技巧提高了程序的性能。在实践过程中,我...
爬虫的应用领域非常广泛,目前利用爬虫技术市面上已经存在了比较成熟的搜索引擎产品,如百度、谷歌,以及其他垂直领域搜索引擎...熟练掌握Python搭建网站的框架Django,深入理解基于Lucene的搜索服务器ElasticSearch。
我们的目的是说明OpenGL ES 3.0程序的样子,向读者介绍一些API概念,并说明如何构建和运行OpenGL ES 3.0示例程序。 第3章——EGL简介 第3章介绍EGL——为OpenGL ES 3.0创建表面和渲染上下文的API。我们说明与...
Elasticsearch 是实时全文索引,不需要像 storm 那样预先编程 才能使用; 配置简易上手。Elasticsearch 全部采用 JSON 接口,Logstash 是 Ruby DSL 设计,都是目前业界最通用的配置语法设计; 检索性能高效。虽然...
【ElasticSearch】目录下为学习ElasticSearch的总结 - 【MQ】目录下为学习MQ练习的代码 【activiti】目录下为学习activiti练习的代码 【leetcode】目录下为Leetcode 刷题总结以及代码 【Redis】目录下为使用Redis和...
主要包含以下框架:docker、dubbo、elasticsearch、fastDFS、Git、hashMap、jvm、MongoDB、mybatis、nio、rabbitMQ、Redis、rocketMQ、socket编程、spring、springboot、springcloud、springsecurity、多线程、异常...
正文:我们知道,在js中,函数实际上是一个对象,每个函数都是Function类型的实例,并且都与其他引用...这种方式有个缺点是,会导致解析两次代码,第一次是基础的ES代码解析,第二次是解析传入构造函数中的字符串,这样
- 理解语义化 - CSS3 动画 - 重绘和回流,变量类型 - JS 的数据类型分类和判断 - 值类型和引用类型 - 原型与原型链(继承) - 原型和原型链定义 - 继承写法 - 作用域和闭包 - 执行上下文 - this - 闭包是什么...
电路分析基础 实验 受控源VCVS、VCCS、CCVS、CCCS 的实验研究 一、实验目的 通过测试受控源的外特性及其转移参数,进一步理解受控源的物理概念,加深对受控源的认识和理解。 二、原理说明 1. 电源有独立电源(如...
本章节会将带领学员了解全文搜索的概念,并熟悉如何用ElasticSearch来实现全文搜索。 第8章 架构设计与分层 本章节讲解了系统的整体架构设计思路,包括如何来组织项目结构。让学员理解系统的数据流程。 第9章 ...
1. 作用域基本概念和原理 2. 词法作用域 3. 函数作用域和块作用域 4. 变量提升 5. 闭包 1. 理解作用域和作用域链 2. 注意区分 ES5 和 E
本章节会将带领学员了解全文搜索的概念,并熟悉如何用ElasticSearch来实现全文搜索。 第8章 架构设计与分层 本章节讲解了系统的整体架构设计思路,包括如何来组织项目结构。让学员理解系统的数据流程。 第9章 ...