sylman123
当前经验45分,升级还需235分
下一等级:Lv.2如何升级?
-
Z金豆:
0
- 城 市:北京
- 注 册:2013-08-08
- 登 录:2014-01-02
|
发表于 2013-10-29 09:14:21
楼主
|
Bihadoop思数云分享hadoop技术普及贴——HDFS应该掌握哪些知识 Hdfs(分布式文件系统)是hadoop的两大核心(hdfs和mapreduce)之一,hdfs又是mapreduce运算的数据存放地,因此hdfs是hadoop的根基。没有hdfs,就没有hadoop。 Hdfs是一个分布式文件系统,作用就是用来存放数据的。大家想一想,对于存放数据的文件系统,我们应该怎么学习,掌握哪些知识哪? 首先我们应该知道是如何存放的吧,hadoop是通过DataNode存放数据的。那么一个文件存放在哪些DataNode上,文件多大,这些信息在哪里?是NameNode。可以看出,NameNode是管理DataNode的。真正存放数据的地方是DataNode,管理文件与这些DataNode之间的映射关系的是NameNode。这就是核心,就这么简单。 那么,DataNode在磁盘存放数据的基本单位是什么哪?块。一个块默认是64MB。 既然是分布式存放数据,那么就需要考虑DataNode节点所在机器的故障,因此需要对数据冗余备份,也就是要设置存放的数据的副本数。可以想象到:副本数肯定小于等于DataNode数量。 假设数据有3份副本,也就是说2个存放数据的DataNode坏掉,不会影响数据的安全性,还有一份可以用。想过吗,管理这些DataNode的NameNode坏掉怎么办?没办法。这里的NameNode是单点的,一旦NameNode坏掉,hdfs就不能用了。因此,必须备份NameNode的数据,防止系统down掉,这就是SecondaryNameNode的职责。SecondaryNameNode的作用就是备份NameNode。目前不能实时备份。不过,有胜于无嘛。 以上谈的都是原理性的东西。对于我们程序员,最关心的是如何访问、操作这些数据。这就是hdfs公布的对外访问方式,包括java访问方式和shell访问方式。这两种访问方式都是非常重要的,必须熟练掌握。 如果把我上面说的知识都掌握了,hdfs这块就过关了。 想了解更多云计算知识,请猛戳 www.bihadoop.com/或者发邮件给我哦~~ 2335156165@qq.com 或加群,群号是166/356/887 ,在群里提问。
|