赞
踩
HDFS(Hadoop Distributed File System)是Apache Hadoop 项目的一个子项目。Hadoop非常实用存储大型数据,TB和PB级别的,其就是使用的HDFS作为存储系统。HDFS是分布式文件系统使用多台计算机存储文件,并提供统一的访问接口,就像访问本地普通文件系统一样。
分布式文件系统解决的就是大数据存储问题。他们是横跨在多台计算机上的存储系统。分布式文件系统在大数据时代有着广泛的应用前景,它们为存储和处理超大规模数据提供所需要的扩展能力。
采用Master/Slave架构。两个重要的角色是:NameNode和DataNode。
四个基本组件:HDFS Client、NameNode、DataNode、Secondary NameNode.
安装好Hadoop后可以用命令对文件系统进行操作。比如创建、删除、修改文件权限等。
shell命令使用格式:
hadoop fs <args> // 既可以操作HDFS,也可以操作本地系统
hadoop dfs <args> // 只能操作hdfs系统
hadoop fs -ls URI
eg. hadoop fs -ls /
eg. hadoop fs -ls -R / # 递归显示文件列表
hadoop fs -mkdir /dir1 # 在根目录下创建一个dir1的文件夹
hadoop fs -mkdir -p /aa/bb/cc # 递归创建文件夹
hadoop fs -put /root/1.txt /dir1 # 将本地的1.txt文件上传到hadoop的dir1文件夹
hadoop fs -put /root/dir1 / # 将本地的dir1文件夹上传到hadoop的根目录
hadoop fs -get <src> <localdst>
eg. hadoop fs -get /1.txt /opt # 将HFDS中的1.txt文件拷贝到本地opt目录
hadoop fs -mv <src> <dst>
hadoop fs -rm [-r] [-skipTrash] URI [URI...]
# 删除目录需要加-r
# -skipTrash 跳过回收站,彻底删除
hadoop fs -cp <src> <dst>
hadoop fs -cat <src>
向HDFS文件系统中写入数据,10个文件,每个文件10M,文件存到/benchmarks/TestDFSIO中
hadoop jar /export/server/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.5.jar TestDFSIO -write -nrFiles 10 -fileSize 10MB
在HDFS文件系统中读取10个文件,每个10M
hadoop jar /export/server/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.5.jar TestDFSIO -read -nrFiles 10 -fileSize 10MB
清除测试数据
hadoop jar /export/server/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.5.jar TestDFSIO -clean
扫码一起进步
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。