各种网站(如Hortonworks)建议不要为HDFS设置配置RAID主要是因为两个原因:
建议在NameNode上使用RAID。
但是如何在每个DataNode存储磁盘上实施RAID呢?
答案 0 :(得分:28)
RAID用于两个目的。根据您可以获得的RAID配置:
HDFS具有类似的软件内置机制。 HDFS将文件拆分为块(所谓的文件块),这些块在多个数据节点之间复制并存储在其本地文件系统中。通常,datanode有多个单独安装的磁盘(JBOD)。 datanode应该在其所有磁盘/本地文件系统上分发其文件块。
这可以确保:
由于HDFS正在处理容错和"条纹"读取时,无需在HDFS下使用RAID。使用RAID只会更昂贵,提供更少的存储空间,而且速度也更慢(取决于具体的RAID配置)。
由于namenode是HDFS中的单点故障,因此需要更可靠的硬件设置。因此,建议在名称节点上使用RAID。
答案 1 :(得分:0)
RAID0和企业服务器是一个巨大的错误。我肯定想见到设计这个的人。这对IT运营经理来说没有任何常识。如果使用RAID0配置任何本地服务器磁盘,则可能会导致长时间的痛苦RAID0恢复。如果RAID0中的单个磁盘发生故障,则RAID分区将被破坏,并且在更换磁盘时它不会神奇地恢复。有人必须登录到服务器并删除旧的RAID分区并创建一个新的分区。当工时和工作周期处于历史最高水平时,这会产生大量开销。由于更优先的工作量或拒绝执行此操作,IT运营经理要么推迟执行此操作,因为他们没有足够的周期来将人力资源用于更重要的工作。然后它将被推到另一个团队。然后政治开始,然后它被推回到服务器所有者/客户。如果您想使RAID1或SAN驱动器可用,那么您可以避免整个场景。