ELK--- Elastic Stack内部机制

分布式机制的透明隐藏特性

在这里插入图片描述

  • 分布式机制:分布式数据存储及共享(如何分配数据和共享ES已经帮我们实现)。
  • 分片机制:数据存储到哪个分片,副本数据如何写入ES已经帮我们实现。
  • 集群发现机制:新启动的ES实例,会自动加入集群。
  • shard负载均衡机制:大量数据写入及查询,ES会将数据平均分配。
  • shard副本机制:新增副本数,分片会重分配。

水平扩容与垂直扩容

假设原来有6台1TB的机器,现在需要8TB的ES集群。

  • 水平扩容
    新增两台1TB加入集群。
    在这里插入图片描述
  • 垂直扩容
    使用2台2TB的机器替换原来的两台1TB机器。
    在这里插入图片描述
    由于成本的原因,在现实中常常采用水平扩容以节省成本。

rebalance机制

新增或减少ES实例或服务器负载不均匀时,ES集群会将数据重新分配。

master节点

master节点的作用主要是管理索引的创建与删除和节点的新增和减少。

默认情况下,ES会自定选择一台机器作为master。

当master宕机时,ES会选举出新的机器作为master(不必担心,老大是一直有的)。

节点对等的分布式架构

当系统随机向shard6请求id=1的数据时,shard6不存在id=1的数据,此时会自动向其它机器寻找,使得每个节点都能接收所有的请求,这就是节点对等。
在这里插入图片描述

shard&replica机制

  • 每个index包含一个或多个shard。
  • 每个shard都是一个最小工作单元,承载部分数据和完整的建立索引和处理请求的能力。
  • 增减节点时,shard会自动在nodes中负载均衡。
  • 每个文档(document)只存在于某一个主分片(primary shard)以及其对应的副本分片(replica shard)中,不可能存在于多个主分片。
  • 副本分片是主分片的副本,负责容错以及承担读请求负载。
  • 主分片的数量在创建索引的时候已经固定,副本分片的数量可以随时修改。
  • 主分片的默认数量是1,副本默认是1,默认共有2个分片,1个主分片,1个副本分片。
    注意:es7以前主分片的默认数量是5,副本默认是1,默认有10 个分片,5个主分片,5个副本分片。
  • 主分片不能和自己的副本分片放在同一个节点上,否则节点宕机,主分片和副本都丢失,起不到容错的作用,但是可以和其它主分片的副本分片放在同一个节点上。

单节点创建索引

  • 单节点环境下创建索引,有3个主分片,3个副本分片。
  • 此时集群status是yellow,因为副本分片不可用。
  • 3个主分片会分配到仅有的一个节点上,另外3个副本节点是无法分配,积压在内存中。
  • 集群可以正常工作,但是一旦出现节点宕机,数据全部丢失。

横向扩容

  • 分片自动负载均衡,分片向空闲机器转移。
  • 每个节点存储更少分片,系统资源给予每个分片的资源更多,整体集群性能提高。
  • 扩容极限:节点数大于整体分片数,则必有空闲机器。
  • 超出扩容极限时,可以增加副本数,提高搜索性能和容错性。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值