• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

ES多磁盘目录

武飞扬头像
暮暮七
帮助1

测试提到给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需要至少一个副本分片来保证数据不会丢失。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhggeeia
系列文章
更多 icon
同类精品
更多 icon
继续加载