• 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html
  • 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html

ElasticSearch基础分布式架构讲解

技术杂谈 勤劳的小蚂蚁 3个月前 (01-30) 93次浏览 已收录 0个评论 扫描二维码

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 相应收集
最原始接收的节点负责从其他节点采集相应的数据,然后把汇总的数据返回到客户端


丨极客文库, 版权所有丨如未注明 , 均为原创丨
本网站采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行授权
转载请注明原文链接:ElasticSearch基础分布式架构讲解
喜欢 (0)
[247507792@qq.com]
分享 (0)
勤劳的小蚂蚁
关于作者:
温馨提示:本文来源于网络,转载文章皆标明了出处,如果您发现侵权文章,请及时向站长反馈删除。

您必须 登录 才能发表评论!

  • 精品技术教程
  • 编程资源分享
  • 问答交流社区
  • 极客文库知识库

客服QQ


QQ:2248886839


工作时间:09:00-23:00