赞
踩
HDFS(Hadoop Distributed File System)是一个分布式文件系统。它具有高容错性并提供了高吞吐量的数据访问,非常适合大规模数据集上的应用,它提供了一个高度容错性和高吞吐量的海量数据存储解决方案。
高吞吐量访问
:HDFS 的每个 Block 分布在不同的 Rack 上,在用户访问时,HDFS 会计算使用最近和访问量最小的服务器给用户提供。由于 Block 在不同的 Rack 上都有备份,所以不再是单数据访问,速度和效率是非常z快的。另外 HDFS 可以并行从服务器集群中读写,增加了文件读写的访问带宽。高容错性
:系统故障不可避免,如何做到故障之后的数据恢复和容错处理是至关重要的。HDFS 通过多方面保证数据的可靠性,多份复制并且分布到物理位置的不同服务器上,数据校验功能、后台的连续自检数据一致性功能都为高容错提供了可能。线性扩展
:因为 HDFS 的 Block 信息存放到 NameNode 上,文件的 Block 分布到 DataNode 上,当扩充的时候仅仅添加 DataNode 数量,系统可以在不停止服务的情况下做扩充,不需要人工干预。如上图所示 HDFS 是 Master 和 Slave 的结构,分为 NameNode、Secondary NameNode 和 DataNode 三种角色。
NameNode
:在 Hadoop1.X 中只有一个 Master 节点,管理 HDFS 的名称空间和数据块映射信息、配置副本策略和处理客户端请求。Secondary NameNode
:辅助 NameNode,分担 NameNode 工作,定期合并 fsimage 和 fsedits 并推送给 NameNode,紧急情况下可辅助恢复 NameNode。DataNode
:Slave 节点,实际存储数据、执行数据块的读写并汇报存储信息给 NameNode。open()
方法来打开希望读取的文件,对于 HDFS 来说,这个对象是分布式文件系统的一个实例;read()
方法;read()
方法,可以将数据从 DataNode 传输到客户端;close()
方法关闭文件读取。create()
方法创建新文件;close()
方法关闭写入流;- hadoop fs -ls /
- hadoop fs -lsr
- hadoop fs -mkdir /user/hadoop
- hadoop fs -put a.txt /user/hadoop/
- hadoop fs -get /user/hadoop/a.txt /
- hadoop fs -cp src dst
- hadoop fs -mv src dst
- hadoop fs -cat /user/hadoop/a.txt
- hadoop fs -rm /user/hadoop/a.txt
- hadoop fs -rmr /user/hadoop/a.txt
- hadoop fs -text /user/hadoop/a.txt
- hadoop fs -copyFromLocal localsrc dst # 与hadoop fs -put 功能类似
- hadoop fs -moveFromLocal localsrc dst # 将本地文件上传到 hdfs,同时删除本地文件
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。