关于ES多磁盘目录

测试提到给ES配置了许多数据存储目录,但是在实测当中发现数据基本上只往其中一块盘去写数据(监控了磁盘读写速率),询问是否可以并发写以便提高性能。

此前,我给ES配置多个数据目录(path.data)主要是为了增大存储上限,如果机器上配备有RAID卡直接使用存储卡做raid 0的单一大目录就十分便捷,无需考虑多目录的问题了。对测试遇到的问题试验及查证如下:

  • 一个shard只会分配在一个物理目录上面,它不会再被切分存储到多个目录盘上
  • 单索引具有足够的分片时,数据会写到多个盘(分片数 > data节点数)
  • 所以,多目录在一般情况下没有并发写的效果,多磁盘推荐使用raid 0,磁盘I/O可以均匀分布到所有磁盘。

查证官网说明

将path.data配置成多个路径,也即使用多个IO设备,对于增大总存储空间很有用,也有提升IO性能的效果。

Using multiple IO devices (by specifying multiple `path.data` paths) to hold the shards
on your node is useful for increasing total storage space, 
and improving IO performance, if that's a bottleneck for your Elasticsearch usage.

shard分配的基本逻辑:
多目录情况下,一个shard被分配到一个node上之后,node会挑选一块最佳目录(多数是空的)分配给这个shard存储数据文件。

前面提到raid 0是另一条路,但是raid 0是条带化存储数据,出现坏盘的情况就会全军覆没(对ES来说存在该节点的所有shard都丢失),官方推荐使用多目录。

因此,你的shard需要至少一个副本分片来保证数据不会丢失。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

1024点线面

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值