自学大数据(一)

前言

几年前茶余饭后与一大数据工程师同事聊天吹水得时候,听同事侃侃而谈大数据,感觉很牛B得样子。同事培训机构刚出来1年,薪资就有就有12k,而自己4年工作经验也才12.5k,感觉做大数据得真的很牛B。本着求知的心态,经常听他科普大数据。

开始我们聊数据存储,也就是HDFS,同事说:“这东西叫分布式文件存储,就是把文件通过计算存储到3块磁盘上,假如其中一块磁盘坏掉了可以通过其他磁盘恢复,3块磁盘是最低要求”。
听到这我本着自己原有的知识面在想,尼玛这不是RAID(磁盘阵列)吗?

于是乎想当然的觉得大数据就应该用这技术,原来HDFS就是磁盘阵列技术。然而自己也并没有深入去查资料,总觉得自己不会往这个方向发展,只不过是了解点技术罢了。

时至今日,感觉自己遇到了技术瓶颈需要继续深入拓展和亟待学习新的技术,准备自学下大数据。查阅了相关资料之后发现,HDFS并非之前同事所说的那般,并且Hadoop官方还不推荐使用raid。

raid

raid是将一个完整的信息,通过计算分别存储在不同的磁盘上,这样可以有效利用磁盘空间和高效读取,但是存储一份数据是分在多个磁盘下。

HDFS

而HDFS则是将一个完整的数据备份三分存储在三块磁盘上,每个磁盘上存储了一份完整的数据。当然这么说并不完全正确,事实上是将一个大文件分块,然后将一个分块备份三份存储到三个不同磁盘上。

HDFS与raid的区别
  • raid在一块磁盘上拿不到任何完整的数据,而HDFS在每一块磁盘上都可以拿到完整的部分数据。
  • raid省磁盘数据多大它就占用多大空间,可能多存储点校验信息,而HDFS耗费大量存储空间。假设1T的数据,在Raid情况下他就占1t的存储空间,而HDFS需要3T。
  • raid和HDFS都是为了解决磁盘的横向拓展问题。

关于raid的特性大家自己拓展了。
总而言之,HDFS不是Raid的概念。HDFS是通过分块并备份数据达到目的,本质上与raid不同。

我估计那同事可能也是一知半解的状态。所以吹的水略有偏差。
当然查阅了下相关资料,脸书等公司还是有HDFS-Raid的解决方案。当然当你的数据量能达到需要通过省磁盘来节省开销的时候可以考虑相关方案,现在嘛还是一步步来。

HDFS介绍

hdfs全称为hadoop distributed file system,hadoop分布式文件系统。
HDFS中重要的两个概念NameNode和DataNode。
HDFS采用master/slave架构。一个HDFS集群是由一个NameNode和一定数目的DataNodes组成。

NameNode
  • NameNode负责统一调度数据块的创建、删除和复制。
  • NameNode执行文件系统的名字空间操作,比如打开、关闭、重命名文件或目录。它也负责确定数据块到具体DataNode节点的映射。
  • NameNode是一个中心服务器,负责管理文件系统的名字空间(namespace)以及客户端对文件的访问。
DataNode
  • 集群中的DataNode一般是一个节点一个,负责管理它所在节点上的存储。HDFS暴露了文件系统的名字空间,用户能够以文件的形式在上面存储数据。从内部看,一个文件其实被分成一个或多个数据块,这些块存储在一组DataNodes上。
  • DataNode负责处理文件系统客户端的读写请求。

关于初学了解以上信息就够了,剩下的多看看HDFS的api。关于内部的数据流转原理,容错,可靠保障等。这些都是运维级的事情了,说简单也简单。有兴趣童鞋可以自己拓展。对于我来说,对他的基础概念了解完,内部原理好像自然而然就融会贯通了。

总结

目前的技术可以做到一个磁盘4TB那么假如你的数据是PB级别怎么存储。难道一块磁盘一块磁盘去写,得写到何年何月?那么读取和检索呢?所以这就是HDFS存在意义。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值