关于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需要至少一个副本分片来保证数据不会丢失。文章来源地址https://uudwc.com/A/Xky8r

原文地址:https://blog.csdn.net/yuand7/article/details/129338523

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年09月15日 00:05
怎么获取别人店铺的商品呢?
下一篇 2023年09月15日 00:11