Hadoop:有点混淆的raid和hdfs

首先声明,其实raid和hdfs是基本不搭嘎的两个技术。但由于思想很像,容易让人混淆:有了RAID技术,为何还要HDFS?

首先来看hdfs工作流程:

来源于https://www.cnblogs.com/binarylei/p/8903601.html
在这里插入图片描述
文件在客户端时会被分块,这里可以看到文件被分为 5 个块,分别是:A、B、C、D、E。同时为了负载均衡,所以每个节点有 3 个块。下面来看看具体步骤:

步骤1: 客户端将要上传的文件按 128M 的大小分块。
步骤2:客户端向名称节点发送写数据请求。名称节点记录各个 DataNode 信息,并返回可用的 DataNode 列表。
步骤3:客户端直接向 DataNode 发送分割后的文件块,发送过程以流式写入。写入完成后,DataNode 向 NameNode 发送消息,更新元数据。

知识点:
1、NameNode可以说是hdfs中的心脏,协调管控着所有datanode。通常NameNode和datanode都分别部署在独立的物理机。

2、在执行读或写的过程中,NameNode 和 DataNode 通过 HeartBeat 进行保存通信,确定 DataNode 活着。如果发现 DataNode 死掉了,就将死掉的 DataNode 上的数据,放到其他节点去,读取时,读其他节点。

3、宕掉一个节点没关系,还有其他节点可以备份;甚至,宕掉某一个机架也没关系;其他机架上也有备份。
说白了,HDFS技术的目的:解决海量数据的分布式存储的问题。方案中考虑了负载均衡、横向扩容、数据备份的问题。

在看看raid技术:

RAID 被看作是由两个或更多磁盘组成的存储空间,通过并发地在多个磁盘上读写数据来提高存储系统的 I/O 性能。
常见的类型有raid0 raid1 raid5 raid10等等。具体介绍可以参考https://www.cnblogs.com/ivictor/p/6099807.html
说白了,raid技术的目的有2个:
1、是利用尽可能多的磁盘组成的磁盘阵列来提高磁盘的读写性能,类似raid0。否则你的cpu性能再强悍也是枉然。
2、起到备份数据的作用,类似raid1。确保一块磁盘坏掉,另一个备份磁盘可以继续提供相同数据继续服务。
一般服务器机器上都有硬件raid卡,用户只要简单安自己的业务需求简单配置一下就可以使用。

刚开始接触hdfs,很容易让人联想到raid技术。
他们的相同点: 都解决了数据备份的问题。
当他们的区别还是很大的。
1、raid是针对单台服务器,目的是解决高性能的处理器和低性能的磁盘io的瓶颈问题。
2、hdfs是针对服务器集群,目的是解决海量数据的分布式存储问题。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海棠花败

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值