elasticsearch data.path小坑

也不能说坑,简单说一下问题吧。

目前组里在用elasticsearch给实时日志建索引,elasticsearch保存一天的实时日志数据,规模大概是46,246,714,141个documents,容量在15T左右。es集群使用了40个node,每个node的path为三个,比如/disk4/data -> sde, /disk5/data -> sdf, disk6/data -> sdg。在这个node上面分布了三个shard,但是我们发现磁盘的IO总是发生在disk6上面,其他两块盘基本没有。这是背景。

有两个问题需要关注,一是shard到data path的映射,还有就是shard data到data path的映射。先说后者,es在2.2以前会将shard的数据在disk上面做均衡,但是在2.2以后,一个shard的数据只会放在同一个data path上,比如上面的disk5。在这种情况下,如果只有一个shard,必然会导致一个disk的IO很高,但是这里有三个shard,shard分配到disk做均衡的时候,不会将shard分配给同一块disk。然而我们在监测集群状态的时候,发现disk6的IO总是很高,而disk5基本没有IO。

这个问题一度使我很费解,因为这种磁盘IO分布不均匀的情况只在这一个节点上面出现,所以应该不是es的问题,那么只能是这个节点本身的问题。最后让我吐血的发现:

df -lh

disk6这块盘共5.6T,而其他的disk只有3.5T左右。shard在分配的时候会挑富余空间大的disk,而因为每个shard的数据其实并不大,大概几百G的样子,不会影响disk6的剩余大小,因此shard的数据都会往sdg这个盘上引,造成sdg的IPOS一直都很高。

教训:es node的data path尽量保证盘的大小差别不要太大,防止一块盘的IO过高。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值