`
donlianli
  • 浏览: 336212 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Group-logo
Elasticsearch...
浏览量:216526
社区版块
存档分类
最新评论

Elasticsearch一些基础概念理解

阅读更多

转载请标明出处: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://stackoverflow.com/questions/12409438/when-do-you-start-additional-elasticsearch-nodes/12414123

http://elasticsearch-users.115913.n3.nabble.com/Shards-and-replicas-td2819984.html

 

对这类话题感兴趣?欢迎发送邮件至donlianli@126.com
关于我:邯郸人,擅长Java,Javascript,Extjs,oracle sql。
更多我之前的文章,可以访问 我的空间
2
1
分享到:
评论
3 楼 reinhardv 2013-07-16  
“当然,这5个分片的最终数据是一样的,也就是说,插入一条记录时,最终这条记录会从插入的那个shard同步至其他的几个shard。”,这个解释不太对吧,每个shard都是一个独立的分片,插入的文档只会存在于5个shard中的一个,这个5个主shard是为了做分布式处理的,如果都一样还怎么扩展处理能力?只有replica才会从primary shard上同步数据吧。
2 楼 donlianli 2013-07-15  
BuN_Ny 写道
Shard对应Lucene的Shard吧

不熟悉Lucene,哈哈。可能
1 楼 BuN_Ny 2013-07-15  
Shard对应Lucene的Shard吧

相关推荐

    Elasticsearch学习总结

    Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎,无论在开源还是专有领域,Lucene可以被认为是...本文涉及Elasticsearch的一些基本概念以及操作。还重点总结了安装过程中遇到的一些问题以及解决方案。

    人工智能-项目实践-信息检索-基于springboot-es的博客检索系统

    内容涵盖 ES安装、ES基本概念和数据类型、Mysql 到 ES 数据同步、SpringBoot 操作 ES。可初步认识ES,理解ES的一些适用场景,以及如何使用springboot来同ES进行交互 1、ElasticSearch概念和适用场景 2、Elastic...

    ElasticSearch–概念理解与基本实操

    一、基本概念 cluster 整个elasticsearch 默认就是集群状态,整个集群是一份完整、互备的数据。 node 集群中的一个节点,一般只一个进程就是一个node shard 分片,即使是一个节点中的数据也会通过...

    elasticSearch查询语句DSL

    在这篇资源中,我们将详细介绍如何使用DSL...最后,我们将分享一些实用技巧和最佳实践,帮助您充分发挥DSL在Elasticsearch中的优势。我们将探讨性能优化、查询调试和索引优化等关键主题,以提升查询效率和搜索准确性。

    Elasticsearch分片原理

    ES集群的基本概念 Cluster 代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。es的一个概念就是去中心化,字面上理解就是无中心节点,这是对于...

    我所理解的Cocos2d-x

    《我所理解的Cocos2d-x》针对最新的 Cocos2d-x 3.x版本,介绍了Coco2d-x游戏引擎的基本架构、渲染机制,以及各个子模块的功能和原理,并结合OpenGL ES图形渲染管线,深入探讨了游戏开发中涉及的相关图形学的知识,...

    我所理解的Cocos2d-x ,秦春林编著

    《我所理解的Cocos2d-x》针对最新的 Cocos2d-x 3.x版本,介绍了Coco2d-x游戏引擎的基本架构、渲染机制,以及各个子模块的功能和原理,并结合OpenGL ES图形渲染管线,深入探讨了游戏开发中涉及的相关图形学的知识,...

    基于ElasticSearch+Spark 构建高相关性搜索服务&千人千面推荐系统.zip

    通过学习Spark,我了解了其基本概念和核心组件,如RDD(弹性分布式数据集)、Spark SQL、Spark Streaming和MLlib等。我学会了使用Spark编写分布式的数据处理程序,并通过调优技巧提高了程序的性能。在实践过程中,我...

    一个基于分布式爬虫的信安文章搜索引擎

    爬虫的应用领域非常广泛,目前利用爬虫技术市面上已经存在了比较成熟的搜索引擎产品,如百度、谷歌,以及其他垂直领域搜索引擎...熟练掌握Python搭建网站的框架Django,深入理解基于Lucene的搜索服务器ElasticSearch。

    OpenGL ES 3.0

    我们的目的是说明OpenGL ES 3.0程序的样子,向读者介绍一些API概念,并说明如何构建和运行OpenGL ES 3.0示例程序。  第3章——EGL简介  第3章介绍EGL——为OpenGL ES 3.0创建表面和渲染上下文的API。我们说明与...

    elk-stack-guide-cn.pdf

    Elasticsearch 是实时全文索引,不需要像 storm 那样预先编程 才能使用; 配置简易上手。Elasticsearch 全部采用 JSON 接口,Logstash 是 Ruby DSL 设计,都是目前业界最通用的配置语法设计; 检索性能高效。虽然...

    leetcode题库-learn:redis缓存activiti工作流leetcode算法并发vueLinux内核MQ

    【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的理解(基础篇)

    正文:我们知道,在js中,函数实际上是一个对象,每个函数都是Function类型的实例,并且都与其他引用...这种方式有个缺点是,会导致解析两次代码,第一次是基础的ES代码解析,第二次是解析传入构造函数中的字符串,这样

    web前端面试指南和高频考题解析,大厂员工整理,pdf和md版本都

    - 理解语义化 - CSS3 动画 - 重绘和回流,变量类型 - JS 的数据类型分类和判断 - 值类型和引用类型 - 原型与原型链(继承) - 原型和原型链定义 - 继承写法 - 作用域和闭包 - 执行上下文 - this - 闭包是什么...

    电路分析基础实验-减小仪表测量误差的方法.ppt

    电路分析基础 实验 受控源VCVS、VCCS、CCVS、CCCS 的实验研究 一、实验目的 通过测试受控源的外特性及其转移参数,进一步理解受控源的物理概念,加深对受控源的认识和理解。 二、原理说明 1. 电源有独立电源(如...

    SpringBoot企业级博客系统(未加密+源码)

    本章节会将带领学员了解全文搜索的概念,并熟悉如何用ElasticSearch来实现全文搜索。 第8章 架构设计与分层 本章节讲解了系统的整体架构设计思路,包括如何来组织项目结构。让学员理解系统的数据流程。 第9章 ...

    你不知道的 Javascript (上卷)阅读计划-Faremax1

    1. 作用域基本概念和原理 2. 词法作用域 3. 函数作用域和块作用域 4. 变量提升 5. 闭包 1. 理解作用域和作用域链 2. 注意区分 ES5 和 E

    Spring Boot带前后端 渐进式开发企业级博客系统

    本章节会将带领学员了解全文搜索的概念,并熟悉如何用ElasticSearch来实现全文搜索。 第8章 架构设计与分层 本章节讲解了系统的整体架构设计思路,包括如何来组织项目结构。让学员理解系统的数据流程。 第9章 ...

Global site tag (gtag.js) - Google Analytics