Elastic 分片设计及管理

分片设计

  • Es分片水平扩展/rebalancing
    创建索引时,为索引设计的分片数,会自动分布在集群的节点上,当节点增加时,es也会自动进行分片的移动,这叫做 shard rebalancing

  • 多分片的好处:

  1. 数据写入可以分散到多个机器上
  2. 查询可以并行进行
  3. 增加机器,可以no downtime 的水平扩展/分片的重新分配
  • 分片的设计与管理——分片是ES存储数据的地方,本质是一个lucene的索引,分片是ES机器实现水平扩展的最小单位,用她来存储数据必然会消耗系统的性能,如果存储的数据过大,则性能必然不佳。

  • 分片从存储的物理角度:

  1. ES官方建议日志应用,单个分片大小最好小于50G
  2. 搜索类应用,单个分片最好小于20G
  • 控制分片大小的原因:
  1. 提高update的性能
  2. 减少merge所需的资源
  3. 丢失节点,更快速的rebalance

副本分片的设计

  1. 副本是主分片的拷贝
  2. 副本可以提高系统可用性:查询请求时,防止数据丢失
  3. 需要占用和主分片一样的资源
  • 增加副本分片对性能的影响:
  1. 会降低写入的速度,写两份,CPU资源消耗
  2. 会减缓对主分片的查询能力,但是会消耗同样的内存资源
  3. 在机器资源充分的情况下,提高查询的qps

分片案例优化分析

集群分片

这里单个索引1.88TB /40分片 正好是 48G ,但是是搜索类的分片,应该改为不超过20G

然后副本分片为0 ,可以增加 副本分片 提高查询的吞吐量

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章