博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ElasticSearch基础分布式架构讲解
阅读量:4178 次
发布时间:2019-05-26

本文共 1149 字,大约阅读时间需要 3 分钟。

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的垂直扩容与水平扩容

640?wx_fmt=png

假设现在有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节点不会是一个单点瓶颈。只是做一些轻量级的事情。

640?wx_fmt=png

5节点平等的分布式架构

5.1 节点平等

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

 

5.2 自动请求路由

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

 

5.3 相应收集

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

 

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

 

转载地址:http://vtaai.baihongyu.com/

你可能感兴趣的文章
java架构之路(多线程)synchronized详解以及锁的膨胀升级过程
查看>>
java架构之路(多线程)AQS之ReetrantLock显示锁的使用和底层源码解读
查看>>
百度现场面试:JVM+算法+Redis+数据库!(三面)
查看>>
java架构之路(多线程)JMM和volatile关键字
查看>>
创业感悟:技术兄弟为什么一直没有起来
查看>>
(转载)linux命令之十八locate 命令
查看>>
Linux发行光盘(红旗 5.0 SP2发行版,已不使用仅参考)
查看>>
linux下如何将文件打包、压缩并分割成制定大小
查看>>
CentOS6.5升级内核到3.10.28
查看>>
linux内核补丁安装和编译安装
查看>>
(转载)linux命令之十九find 命令
查看>>
(转载)linux命令之二十 find命令之exec
查看>>
(转载)linux命令之二十一find命令之xargs
查看>>
centos下C编程调用libvirt的API访问KVM虚拟机
查看>>
(转载)linux命令之二十四tar命令
查看>>
(转载)linux命令之二十五chgrp命令
查看>>
IntelLinux显卡驱动安装指南
查看>>
(转载)linux命令之二十六chown命令
查看>>
(转载)linux命令之二十七gzip命令
查看>>
(转载)linux命令之二十八df 命令
查看>>