Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ElasticSearch基础分布式架构讲解

ElasticSearch基础分布式架构讲解

作者头像
Java高级架构
发布于 2019-03-06 09:21:44
发布于 2019-03-06 09:21:44
7110
举报
文章被收录于专栏:JAVA高级架构JAVA高级架构

1 Elasticsearch对复杂分布式机制的透明隐藏特性

Elasticsearch是一台分布式系统,之所以分布式,是为了应对大数据量,他把整个分布式系统的一些复杂的东西隐藏起来,我们不用去关系他们,直接可以使用es。

隐藏的特性或机制:

1.1 分片机制

之前我们随便可以将document数据插入到es集群中,我们有没有care过数据是如何进行分片的,就是说document存放到哪一个shard中的。

1.2 Cluster discover 集群发现机制

比如说我们再单台服务器上面运行一个es节点,这个es节点的health状态是yellow,这个我们是知道的,当我们再启动一个es进程,最为一个节点的时候,这个进程会自动发现集群,并且自动加入到集群中,还接收了部分数据,replica shard 数据。

1.3 shard负载均衡

假设现在有3个es节点,25个shard要分配,es会自动进行均匀的分配,以保持每个节点的均衡的读写负载请求。

还有 shard副本, 请求路由,集群扩容, shard重分配等

2 Elasticsearch的垂直扩容与水平扩容

假设现在有6台服务器,每台上面可以存储1T的数据,现在数据量增加到8T,有两种扩容方案:

2.1 垂直扩容

购置更加强大的服务器,比如将其中的两台服务器换成可以存储2T数据的服务器,这个时候4 + 2*2 = 8T

缺点:高配置的服务器成本非常高。

2.2 水平扩容

购置两台1T的服务器,直接添加到集群中。

业界比较采用,很多普通的服务器组织在一起,可以构成强大的计算和存储能力。

3 增加或减少节点时的数据rebalance

比如上面前5个节点,每一个节点上有一个shard,但是第六个节点有2个shard,这个时候,最后一个节点同其他节点是不平衡的,他的存储和请求的负载比较高的,这个时候,集群中新增一个节点,第六个节点会分配一个shard到新节点上,实现rebalance。

4 Master节点

在集群中,有一个master节点,管理集群的元数据,比如索引的元数据,节点的增加和删除,维护节点的元数据,默认情况下,会自动选择一个节点作为master节点,但是master节点不承载所有的请求,所以说master节点不会是一个单点瓶颈。只是做一些轻量级的事情。

5节点平等的分布式架构

5.1 节点平等

每一个节点都能接收所有的请求

5.2 自动请求路由

每一个节点接收到请求之后都能够把这个请求路由到有相关数据的其他节点上去

5.3 相应收集

最原始接收的节点负责从其他节点采集相应的数据,然后把汇总的数据返回到客户端

当然现在只是一些基础的概念解释,后面我们还会继续深入的结合案例升入的讲解和学习,请关注

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-01-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高级架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
亿级流量场景下,大型架构设计实现【全文检索高级搜索---ElasticSearch篇】-- 中
1、Elasticsearch对复杂分布式机制的透明隐藏特性 2、Elasticsearch的垂直扩容与水平扩容 3、增减或减少节点时的数据rebalance 4、master节点 5、节点对等的分布式架构
小勇DW3
2019/05/07
4440
亿级流量场景下,大型架构设计实现【全文检索高级搜索---ElasticSearch篇】-- 中
ElasticSearch是如何实现分布式的?
在搜索这块,lucene 是最流行的搜索库。几年前业内一般都问,你了解 lucene 吗?你知道倒排索引的原理吗?现在早已经 out 了,因为现在很多项目都是直接用基于 lucene 的分布式搜索引擎—— ElasticSearch,简称为 es。
李红
2019/05/31
6050
[87期] ES 的分布式架构原理能说一下么
现在分布式搜索基本已经成为大部分互联网行业的 Java 系统的标配,其中尤为流行的就是 ES,前几年 ES 没火的时候,大家一般用 solr。但是这两年基本大部分企业和项目都开始转向 ES 了。
架构狂人
2023/11/15
1720
[87期] ES 的分布式架构原理能说一下么
Elasticsearch 分布式特性
cerebro 是一个ES Web管理工具,项目地址 https://github.com/lmenezes/cerebro
小旋锋
2019/01/21
9070
【Elasticsearch系列十五】强大特性
number_of_shards 是指索引要做多少个分片,只能在创建索引时指定,后期无法修改。
kwan的解忧杂货铺
2024/09/20
1110
014.Elasticsearch分布式原理
通常我们在每台机器部署并启动一个ES进程,怎么让多台机器上的多个ES进程,互相发现对方,然后完美的组成一个ES集群呢?
CoderJed
2020/07/02
8330
有人问你Elasticsearch分布式架构原理,将这篇文章丢过去
Elasticsearch用于构建高可用和可扩展的系统。扩展的方式可以是购买更好的服务器(纵向扩展(vertical scale or scaling up))或者购买更多的服务器(横向扩展(horizontal scale or scaling out))。
架构师修炼
2020/07/17
2.4K0
浅析分布式搜索引擎
Lucene是一套用于全文检索和搜索的开放源码程序库,由Apache软件基金会支持和提供。Lucene提供了一个简单却强大的应用程序接口,能够做全文索引和搜索,在Java开发环境里Lucene是一个成熟的免费开放源代码工具;就其本身而论,Lucene是现在并且是这几年,最受欢迎的免费Java信息检索程序库。
全栈程序员站长
2022/08/27
7380
浅析分布式搜索引擎
突破Java面试(14)-分布式搜索引擎的架构
但现在不问了,因为现在项目基本都是采用基于 lucene 的分布式搜索引擎—— ElasticSearch.
JavaEdge
2019/06/26
1.1K2
突破Java面试(14)-分布式搜索引擎的架构
滴滴 Elasticsearch 多集群架构实践
Elasticsearch 是基于 Lucene 实现的分布式搜索引擎,提供了海量数据实时检索和分析能力。Elastic 公司开源的一系列产品组成的 Elastic Stack,可以为日志服务、搜索引擎、系统监控等提供简单、易用的解决方案。
良月柒
2019/03/20
1.7K0
滴滴 Elasticsearch 多集群架构实践
深入浅出 spring-data-elasticsearch 之 ElasticSearch 架构初探(一)
本文目录 一、Elasticsearch 基本术语 1.1 文档(Document)、索引(Index)、类型(Type)文档三要素 1.2 集群(Cluster)、节点(Node)、分片(Shard)分布式三要素 二、Elasticsearch 工作原理 2.1 文档存储的路由 2.2 如何健康检查 2.3 如何水平扩容 三、小结 一、Elasticsearch 基本术语 1.1 文档(Document)、索引(Index)、类型(Type)文档三要素 文档(Document) 文档,在面向对象观念就是一个对象。在 ES 里面,是一个大 JSON 对象,是指定了唯一 ID 的最底层或者根对象。文档的位置由 _index、_type 和 _id 唯一标识。 索引(Index) 索引,用于区分文档成组,即分到一组的文档集合。索引,用于存储文档和使文档可被搜索。比如项目存索引 project 里面,交易存索引 sales 等。 类型(Type) 类型,用于区分索引中的文档,即在索引中对数据逻辑分区。比如索引 project 的项目数据,根据项目类型 ui 项目、插画项目等进行区分。 和关系型数据库 MySQL 做个类比: Document 类似于 Record Type 类似于 Table Index 类似于 Database 1.2 集群(Cluster)、节点(Node)、分片(Shard)分布式三要素 集群(Cluster) 服务器集群大家都知道,这里 ES 也是类似的。多个 ElasticSearch 运行实例(节点)组合的组合体是 ElasticSearch 集群。 ElasticSearch 是天然的分布式,通过水平扩容为集群添加更多节点。 集群是去中心化的,有一个主节点(Master)。主节点是动态选举,因此不会出现单点故障。 那分片和节点的配置呢? 节点(Node) 一个 ElasticSearch 运行实例就是节点。顺着集群来,任何节点都可以被选举成为主节点。主节点负责集群内所以变更,比如索引的增加、删除等。所以集群不会因为主节点流量的增大成为瓶颈。因为任何节点都会成为主节点。 下面有 3 个节点,第 1 个节点有:2 个主分片和 1 个副分片。如图:
二哥聊运营工具
2021/12/17
5810
深入浅出 spring-data-elasticsearch 之 ElasticSearch 架构初探(一)
大数据ELK(十一):Elasticsearch架构原理
在Elasticsearch有两类节点,一类是Master,一类是DataNode。
Lansonli
2021/10/11
7260
大数据ELK(十一):Elasticsearch架构原理
【腾讯云ES】Elasticsearch 分布式架构剖析及扩展性优化
Elasticsearch 是一个实时的分布式搜索分析引擎,简称 ES。一个集群由多个节点组成,节点的角色可以根据用户的使用场景自由配置,集群可以以节点为单位自由扩缩容,数据以索引、分片的形式散列在各个节点上。本文介绍 ES 分布式架构基础原理,剖析分布式元数据管理模型,并介绍腾讯云 ES 在分布式扩展性层面相关的优化,解析代码基于 8.5 版本。
黄华
2022/11/18
3.8K1
【腾讯云ES】Elasticsearch 分布式架构剖析及扩展性优化
万文Elasticsearch巧妙的架构详解
本书作为 Elastic Stack 指南,关注于 Elasticsearch 在日志和数据分析场景的应用,并不打算对底层的 Lucene 原理或者 Java 编程做详细的介绍,但是 Elasticsearch 层面上的一些架构设计,对我们做性能调优,故障处理,具有非常重要的影响。
大数据老哥
2022/02/17
7890
万文Elasticsearch巧妙的架构详解
从 Elasticsearch 来看分布式系统架构设计
云栖君导读: 分布式系统类型多,涉及面非常广,不同类型的系统有不同的特点,批量计算和实时计算就差别非常大。这篇文章中,重点会讨论下分布式数据系统的设计,比如分布式存储系统,分布式搜索系统,分布式分析系统等。 分布式系统类型多,涉及面非常广,不同类型的系统有不同的特点,批量计算和实时计算就差别非常大。这篇文章中,重点会讨论下分布式数据系统的设计,比如分布式存储系统,分布式搜索系统,分布式分析系统等。 我们先来简单看下 Elasticsearch 的架构。 1 Elasticsearch 集群架构 Elas
数据和云
2018/04/02
1.4K0
从 Elasticsearch 来看分布式系统架构设计
PB级数据实时查询,滴滴Elasticsearch多集群架构实践
Elasticsearch 是基于 Lucene 实现的分布式搜索引擎,提供了海量数据实时检索和分析能力。
Spark学习技巧
2019/06/20
1.2K0
PB级数据实时查询,滴滴Elasticsearch多集群架构实践
Elasticsearch在日志分析领域应用和运维实践
场景描述:Elasticsearch及相关产品,介绍基于ELK + Kafka 的日志分析系统,Elasticsearch优化经验,阿里云 Elasticsearch服务以及Elasticsearch 运维实践。
王知无-import_bigdata
2019/10/31
5800
Elasticsearch在日志分析领域应用和运维实践
【Elasticsearch】Elasticsearch集群管理在分布式环境中的应用
Elasticsearch集群由一个或多个节点组成,其中每个节点是一个独立的服务器或虚拟机。一个集群内有一个或多个主节点(Master Node)、数据节点(Data Node)、协调节点(Coordinator Node)和处理节点(Ingest Node)。每种节点都有其特定的职责:
屿小夏
2024/07/27
3160
【Elasticsearch】Elasticsearch集群管理在分布式环境中的应用
Elasticsearch和MongoDB分片及高可用对比
如果主分片和副本分片都集中在一个节点上,那是没办法做到高可用的。ES的集群监控状态会返回yellow。因此,我们需要启动更多的节点来承载副本分片。
哲洛不闹
2018/12/28
1.5K0
Elasticsearch和MongoDB分片及高可用对比
Elasticsearch 中的基本概念-文档/索引/节点/分片/集群
本文介绍 Elasticsearch 的基本概念,包括文档和索引、节点和分片,以及 Elasticsearch 和关系型数据库的类比和 REST API。
懒人的小脑
2019/08/14
2.3K0
Elasticsearch 中的基本概念-文档/索引/节点/分片/集群
推荐阅读
相关推荐
亿级流量场景下,大型架构设计实现【全文检索高级搜索---ElasticSearch篇】-- 中
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档