Hadoop:为什么RAID-0不行?

云计算 Hadoop
RAID-0又称为Stripe或Striping,其原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。多年应用下来,RAID-0优势很明显。

在Hadoop邮件列表中,一个经常出现的问题是“为什么Hadoop更青睐使用一组单独的硬盘(JBOD)而不使用通过RAID-0磁盘阵列管理的一组硬盘?”

注:在Hadoop集群中,有一个建议:在配置时,将每个磁盘都分开。有人形象地将之称为“JBOD(Just a Box of Disks)。”

于是,有了以下这篇文章。摘自Hortonworks的两篇文章,第一篇是Steve Loughran所撰写的《Why not RAID-0? It’s about Time and Snowflakes》,第二篇是对Greg Bruno博士(工程副总裁及StackIQ联合创始人)的一个采访《Proper Care and Feeding of Drives in a Hadoop Cluster: A Conversation with StackIQ’s Dr. Bruno》。两篇文章从不同角度论证为什么Hadoop更青睐JBOD而不是RAID-0。

RAID-0又称为Stripe或Striping,其原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。多年应用下来,RAID-0优势很明显。

 

 

但Steve Loughran认为,其并不适合Hadoop。

与RAID-0阵列的同组管理相比,Hadoop更喜欢一组单独磁盘。在Hadoop集群中,读取速度是最能体现性能的重要指标。在Steve Loughran文章中,尤其强调了这一点,他还指出,由于驱动器速度显著不同,RAID-0读取速度往往取决于阵列中最慢的一块磁盘。很多时候,RAID-0配置读取速度甚至会比non-RAID更慢。更大的问题是可靠性。如果一组磁盘被配置为RAID-0阵列,一旦一个磁盘出现故障,将使得整组都宕机。如果所有磁盘都在一个节点中,那么势必会影响整个节点的数据都出现问题。所以,如果配置多个RAID-0阵列,那么单故障发生时,整体系统出问题的概率得到了无限放大。

责任编辑:王程程 来源: Hortonworks
相关推荐

2023-06-26 07:31:29

中文编程编码

2021-04-05 14:47:05

装饰器Python代码

2021-05-08 08:55:54

CPUIBMIntel

2021-07-21 09:35:36

switchbreakJava

2015-08-06 10:19:19

编程脑子

2011-07-21 11:11:10

Scrum

2021-01-20 12:44:22

JAVA编程语言软件

2021-01-20 12:43:07

编程语言Java

2019-08-15 16:48:30

2013-04-19 13:59:00

Apache Hado

2016-12-14 12:02:01

StormHadoop大数据

2017-02-14 14:20:02

StormHadoop

2021-07-09 06:48:29

数组存储内存

2022-01-06 07:34:46

2013-04-19 10:06:51

ApacheHadoopMapReduce计算

2020-12-14 08:00:31

计算机计数程序

2017-12-13 12:58:12

Raid工作原理

2011-10-17 09:26:48

微软Hadoop

2015-08-27 09:41:30

LinuxRAID

2014-02-01 21:25:08

Python数组
点赞
收藏

51CTO技术栈公众号