您的位置:首页 > 大数据 > Hadoop

HDFS文件操作

2015-08-10 21:15 239 查看

HDFS文件操作

一、概念

HDFS是一种文件系统,它存储着Hadoop应用将要处理的数据,专为MapReduce这类框架下的大规模分布式数据处理而设计。为解决传统问题中文件存储的问题—海量数据的存储。

二、HDFS设计目标:

1、very large files(单个文件/文件总大小)

2、streaming data access(write-once,read-many-time) ,在写入过后,文件内容无法修改,在开始时,甚至无法对文件内容添加,现在允许在文件末尾添加内容,不允许修改中间的内容。

3、commodity hardware ,运行在普通硬件上

三、HDFS架构:

在hadoop中,一个文件被划分成大小固定(64MB)的多个文件块,分布的存储在集群中的节点中,一般一个文件块会备份三份,分别存储在两个机架上。普通硬件出错/失效是一种常见的情况,为解决这种情况,同一个文件块在不同的节点中有多个副本(冗余存储),当某个节点出问题时,可以从另外的主机取到数据。

Hadoop的HDFS会自动保持文件块的数量始终一致。

四、HDFS文件系统架构的主要部分

Block:一个文件分块,默认为64MB

NameNode:保存整个文件系统的目录信息,文件信息以及文件相应的分块信息。

DataNode:用于存储Blocks(文件的读、写操作)

HDFS的HA策略:NameNode一旦宕机,整个文件系统将无法工作,若NameNode中的数据丢失,整个文件系统也就丢失了,2.X开始,HDFS支持NameNode的active-standy(主-从模式)。

五、hadoop下的文件操作命令(命令在hadoop安装路径下的bin目录下执行)

1、查看根目录下的内容(文件夹)

Hadoop fs –ls /

2、查看根目录下某文件的内容

Hadoop fs –ls /文件名

注:1、2命令前面一定要加入hadoop,若不加,直接输入ls,则查看的是当前linux系统apt/hadoop/bin目录下的内容

3、上传(put)文件到HDFS(文件系统)

Hadoop fs –put 文件名(本地的) /存放路径/文件名(HDFS上的)

4、查看HDFS中文件的内容

Hadoop fs –cat /文件路径/文件名

5、上传到HDFS中改名(上传与改名同时进行)

Hadoop fs –put 文件名 /存放路径/文件名

6、上传时保留之前的名字

Hadoop fs –put 文件名 /存放路径

7、上传目录到HDFS

Hadoop fs –put 目录名 /存放路径

8、将HDFS中的文件复制(下载)到本地系统

Hadoop fs –get /文件路径/文件名 保存的文件名 ---(下载并改名)

Hadoop fs –get /文件路径/文件名 ----(下载不改名)

9、将HDFS中的目录下载到本地

Hadoop fs –get /文件路径/目录名-----(下载不改名)

Hadoop fs –get /文件路径/目录名 更改的目录名----(下载并改名)

10、将HDFS中的目录或文件删除(rmr/rm) 目录要递归(-r)删除

Hadoop fs –rm /文件路径/文件名 -----删除文件

Hadoop fs –rmr /文件路径/目录名
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: