Hadoop: Why Not Use RAID?

简介:

 一、针对hadoop集群的磁盘配置建议

    针对datanode,建议采用一组单独的磁盘,针对namenode节点,建议采用raid5或raid1来实现针对metadata的冗灾。

二、针对此问题讨论的资料

    针对此问题,两篇文章从不同角度论证为什么Hadoop更青睐JBOD而不是RAID-0。分别是:

  1. Steve Loughran所撰写的《Why not RAID-0? It’s about Time and Snowflakes》,
  2. 对Greg Bruno博士(工程副总裁及StackIQ联合创始人)的一个采访《Proper Care and Feeding of Drives in a Hadoop Cluster: A Conversation with StackIQ’s Dr. Bruno

    Raid0的资料:

    将多个磁盘合并成一个大的磁盘,不具有冗余,并行I/O,速度最快。RAID 0亦称为带区集。它是将多个磁盘并列起来,成为一个大磁盘。在存放数据时,其将数据按磁盘的个数来进行分段,然后同时将这些数据写进这些盘中,所以在所有的级别中,RAID 0的速度是最快的。但是RAID 0没有冗余功能,如果一个磁盘(物理)损坏,则所有的数据都会丢失,危险程度与JBOD相当。


理论上越多的磁盘性能就等于“单一磁盘性能”ד磁盘数”,但实际上受限于总线I/O瓶颈及其它因素的影响,详见:http://zh.wikipedia.org/wiki/RAID#RAID_0


    RAID 0

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

三、Hadoop:定义指导给出的建议

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

    《Hadoop:The.Definitive.Guide》Chapter 9: Setting Up a Hadoop Cluster中,阐述了hadoop为什么不用raid, 及namenode,datanode应该使用的磁盘配置方式。原文如下:

目录
相关文章
|
7月前
|
存储 SQL 分布式计算
Hadoop数据整合
【5月更文挑战第9天】Hadoop数据整合
55 2
|
4月前
|
存储 分布式计算 运维
Hadoop重新格式化HDFS的方案
【8月更文挑战第8天】
105 2
|
5月前
|
存储 分布式计算 Hadoop
Hadoop性能问题
【7月更文挑战第12天】
72 11
|
7月前
|
存储 分布式计算 Hadoop
Hadoop磁盘冗余
【5月更文挑战第13天】
62 5
|
7月前
|
存储 分布式计算 监控
Hadoop网络问题
【5月更文挑战第4天】
135 3
|
7月前
|
存储 分布式计算 监控
Hadoop冗余数据存储
【4月更文挑战第13天】Hadoop的HDFS分布式文件系统通过数据块划分、冗余存储(副本创建)和多样化存储类型提升可靠性与扩展性。NameNode监控副本数量,确保数据安全。使用数据压缩算法节省空间,数据本地化优化提高效率。支持并行处理,实现高效大规模数据处理。
83 1
|
7月前
|
存储 分布式计算 Hadoop
【Hadoop】Hadoop HDFS与NAS有何不同?
【4月更文挑战第9天】【Hadoop】Hadoop HDFS与NAS有何不同?
|
7月前
|
存储 分布式计算 运维
【Hadoop】Hadoop HDFS是否容错?
【4月更文挑战第9天】【Hadoop】Hadoop HDFS是否容错?
|
分布式计算 资源调度 安全
【Hadoop】(二)Hadoop 分布式安装一(HDFS)
【Hadoop】(二)Hadoop 分布式安装一(HDFS)
195 0
【Hadoop】(二)Hadoop 分布式安装一(HDFS)
|
分布式计算 Hadoop
Hadoop挂载
hadoop挂载,前提是配置了CDH的源 yum install hadoop-hdfs-fuse –y mkdir -p /services/data/hdfs hadoop-fuse-dfs dfs://10.
1133 0

相关实验场景

更多