ElasticSearch系列——ElasticSearch基础分布式架构



ElasticSearch系列——主目录


ElasticSearch基础分布式架构(大纲):

  • Elasticsearch对复杂分布式机制的透明隐藏特性
  • Elasticsearch的垂直扩容与水平扩容
  • 增减或减少节点时的数据rebalance
  • master节点
  • 节点对等的分布式架构

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

Elasticsearch是一套分布式的系统,分布式是为了应对大数据量,隐藏了复杂的分布式机制

  • 分片机制:我们之前随随便便就将一些document插入到es集群中去了,我们有没有考虑过,也不需要考虑数据怎么进行分片的,数据到哪个shard中去

  • cluster discovery:集群发现机制,我们之前在做那个集群status从yellow转green的实验里,直接启动了第二个es进程,那个进程作为一个node自动就发现了集群,并且加入了进去,replica shard还接受了部分数据

  • shard负载均衡:举例,假设现在有3个节点,总共有25个shard要分配到3个节点上去,es会自动进行均匀分配,以保持每个节点的均衡的读写负载请求

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


2、Elasticsearch的垂直扩容与水平扩容
  • 垂直扩容:采购更强大的服务器,成本非常高昂,而且会有瓶颈。
    假设世界上最强大的服务器容量就是10T,一台50万元,但是当你的总数据量达到50T的时候,你要采购5台最强大的服务器,花费250万,中小公司一般吃不消

  • 水平扩容:采购越来越多的普通服务器,性能比较一般,但是很多普通服务器组织在一起,就能构成强大的计算和存储能力
    假设世界上普通的服务器容量就是1T,一台1万元,但是当你的总数据量达到50T的时候,你要采购50台最强大的服务器,花费50万,这是很多公司完全可以接受的,所以业界经常采用水平扩容的方案


3、增减或减少节点时的数据rebalance
  • 假如有7T数据,6个分片(服务器节点),那么平均分配下来,会有一个分片拿到2T数据,即总有些服务器的负载重些,承载的数据量和请求量会大一些
  • 但是如果有新的服务器节点接入,多余的数据量会自动分摊,保持负载均衡

4、master节点
  • 管理es集群的全数据:
    比如索引的创建和删除,维护索引数据;节点的增加和移除,维护集群的元数据
  • 默认情况下,自动选择出一台节点,作为master节点
    master节点不承载所有的请求,所以不会是一个单点瓶颈(单点瓶颈:你master节点的速率是2000次/s,那么我整ElasticSearch集群的速率也是2000次/s)

5、节点平等的分布式架构
  • 节点对等,每个节点都能接收所有的请求
  • 自动请求路由
  • 响应收集

1个node环境下创建index是什么样子的?

(1)单node环境下,创建一个index,有3个primary shard,3个replica shard

PUT /test_index
{
   "settings" : {
      "number_of_shards" : 3,
      "number_of_replicas" : 1
   }
}

(2)集群status是yellow
在这里插入图片描述
(3)这个时候,只会将3个primary shard分配到仅有的一个node上去,另外3个replica shard是无法分配的
(4)集群可以正常工作,但是一旦出现节点宕机,数据全部丢失,而且集群不可用,无法承接任何请求

2个node环境下replica shard是如何分配的

(1)replica shard分配:如1 node,有3个primary shard,3个replica shard,共6个shard
(2)primary —> replica同步:primary shard一旦创建是不能修改的,但是replica是可以随时修改的,而且新的replica加入,数据也会均分(或备份)到新的replica,达到容错目的
(3)读请求primary/replica:client请求读数据时,由于primary shard 和 replica shard中的数据都是一样的,所以既可以从primary shard中读取,也可以到replica中读取

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值