设为首页 加入收藏

TOP

Hadoop剖析之HDFS
2015-07-24 10:45:46 来源: 作者: 【 】 浏览:1
Tags:Hadoop 剖析 HDFS

Hadoop的分布式文件系统(HDFS)是Hadoop的很重要的一部分,本文先简单介绍HDFS的几个特点,然后再分析背后的原理,即怎样实现这种特点的。

HDFS特点

1、高容错性。这是HDFS最核心的特性了,把大量数据部署在便宜的硬件上,即使其中某些磁盘出现故障,HDFS也能很快恢复丢失的数据。 2、简单一致性。这个的意思是HDFS适合一次写入,多次读取的程序,文件写入后,就不需要修改了。像MapReduce程序或者网络爬虫程序都是完美适合这个特点。 3、移动计算而不是移动数据。这个好解释,数据太大了,不好移动,HDFS提供了接口,让程序自己移动到离数据近的位置。 4、平台兼容性。平台差异应该能解决,这才能让HDFS使用更广泛。

HDFS架构

1、HDFS是一个典型的主从关系,主是NameNode节点,从是DataNode节点。 NameNode节点是管理者,主要管理系统名字空间,当程序需要读取数据时,先要想NameNode询问数据块的存放位置。 DataNode节点有很多,通常以机架形式组织,机架再通过交换机连接起来。DataNode的主要功能就是保存数据块,同时还要向NameNode报告数据块的信息,没3秒发送一次“心跳”,如果10分钟没有收到心跳,那么就认为这个DataNode坏掉了,此时就需要进行数据恢复了。 2、下面介绍DataNode备份的原理,这也是HDFS有高容错性的原因之一。 在HDFS上的数据都不只是保存一下就可以了,每个文件都会被复制几次(默认3次),然后放在不同地方,以免数据丢失。 那是怎样保存的呢?每个数据块有三个副本,第一个就是数据本身,第二个保存在同一机架(可以理解为同一个硬盘)下的不同DataNode的下,最后一个保存在不同机架上的DataNode上。 3、除了Namenode和DataNode,还有个SecondaryNameNode,他的作用主要是周期性的合并NameNode中保存的关于数据块存放位置的文件,同时NameNode损坏后,可以人工从SecondaryNameNode中恢复一部分,但不是全部。 4、SecondaryNameNode并不能解决单一NameNode的问题,为了提高容错性,HDFS还有HA(high availability)机制:两个NameNode。还有Federation机制:多个NameNode。 5、数据块(block),像Linux系统每个磁盘有数据读和写的最小单位:512字节, 而HDFS也有同样的概念,只不过大小变成了64M,这是因为HDFS需要多次读取,而读取是要不断寻道的,我们要尽量让寻道时间相比数据传输时间最小,如果寻道时间为传输时间百分之一,寻道时间为10ms,传输速度100MB/s,那么块大小就是100MB。以后硬盘传输速度快后,块大小可能会增加。但块太大也不好,一个任务处理一个块,任务会比较慢。当文件小于64MB时,系统同意会分配一个Block给这个文件,但对于实际磁盘资源是没有浪费的。 6、对于大量小文件,HDFS提供了两种容器,将文件统一管理:SequenceFile和MapFile。 7、压缩。压缩能减少空间,主要有三种:gzip,LZO,Snappy。gzip压缩率最高,但耗费CPU,速度也慢。Snappy压缩率最低,但速度快。LZO居中。

HDFS操作

最后介绍一些常用的HDFS操作命令 1、hadoop fs - 这里是一些基本的操作: hadoop fs -mkdir (路径) 建文件夹 hadoop fs -ls(路径)列出文件及目录 hadoop fs -put 文件 路径 上传 hadoop fs -get 文件 路径 下载
hadoop fs -text 文件 查看
hadoop fs -rm 文件 删除
2、hadoop namenode -formate 格式化NameNode 3、 hadoop job -submit 提交作业 hadoo job -kill 杀死作业 4、hadoop fsck -blocks 打印出块信息报告 hadoop fsck -racks 打印DataNode网络拓扑结构

总结

本文介绍了HDFS的几个特性,并对其一些关键原理及功能给予解释,最后给出常用的HDFS操作命令。读完本文可以对HDFS有个基本的了解,具体原理细节还是要 看书,除此之外就是还有会用 Java进行HDFS操作了。
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇输入一行字符,分别统计出其中英文.. 下一篇rmanduplicate总结

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Asus Armoury Crate (2025-12-26 02:52:33)
·WindowsFX (LinuxFX) (2025-12-26 02:52:30)
·[ Linux运维学习 ] (2025-12-26 02:52:27)
·HTTPS 详解一:附带 (2025-12-26 02:20:37)
·TCP/IP协议到底在讲 (2025-12-26 02:20:34)