vlambda博客
学习文章列表

Hadoop成长之路-HDFS基本操作篇

HDFS(Hadoop Distributed File System),是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开发的,可以运行于廉价的商用服务器上。它所具有的高容错、高可靠性、高可扩展性、高获得性、高吞吐率等特征,为超大数据集(Large Data Set)的应用处理带来了很多便利。

首先,它是一个文件系统,用于存储文件,通过统一的命名空间——目录树来定位文件。


其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色;


重要特性如下:

(1)HDFS中的文件在物理上是分块存储(block),块的大小可以通过配置参数( dfs.blocksize)来规定,默认大小在hadoop2.x版本中是128M。


(2)HDFS文件系统会给客户端提供一个统一的抽象目录树,客户端通过路径来访问文件,形如:hdfs://namenode:port/dir-a/dir-b/dir-c/file.data。


(3)目录结构及文件分块信息(元数据)的管理由namenode节点承担

---- namenode是HDFS集群主节点,负责维护整个hdfs文件系统的目录树,以及每一个路径(文件)所对应的block块信息(block的id,及所在的datanode服务器)。


(4)文件的各个block的存储管理由datanode节点承担

---- datanode是HDFS集群从节点,每一个block都可以在多个datanode上存储多个副本(副本数量也可以通过参数设置dfs.replication)。



Hadoop成长之路-HDFS基本操作篇


           Hadoop成长之路-HDFS基本操作篇   

HDFS操作主要有两种方式 Shell和 API,下面介绍Shell基本命令。

HDFS的shell(命令行客户端)操作

HDFS提供shell命令行客户端,使用方法如下:

hadoop fs <args>


Hadoop成长之路-HDFS基本操作篇


常用命令参数介绍





Hadoop成长之路-HDFS基本操作篇

Hadoop成长之路-HDFS基本操作篇

-help

功能:输出这个命令参数手册

Hadoop成长之路-HDFS基本操作篇

Hadoop成长之路-HDFS基本操作篇







Hadoop成长之路-HDFS基本操作篇

Hadoop成长之路-HDFS基本操作篇

-ls

功能:显示目录信息

示例:hadoop fs -ls hdfs://localhost:9000/

备注:这些参数中,所有的hdfs路径都可以简写为:

hadoop fs -ls /    等同于上一条命令的效果

Hadoop成长之路-HDFS基本操作篇

Hadoop成长之路-HDFS基本操作篇







Hadoop成长之路-HDFS基本操作篇

Hadoop成长之路-HDFS基本操作篇

-cat

功能:显示文件内容,下面示例显示根目录下的hello文件

示例:hadoop fs -cat /hello.txt

Hadoop成长之路-HDFS基本操作篇

Hadoop成长之路-HDFS基本操作篇







Hadoop成长之路-HDFS基本操作篇

Hadoop成长之路-HDFS基本操作篇

–appendToFile

功能:追加一个文件到已经存在的文件末尾

示例:hadoop fs -appendToFile   /hello.txt     /hello2.txt

Hadoop成长之路-HDFS基本操作篇

Hadoop成长之路-HDFS基本操作篇







Hadoop成长之路-HDFS基本操作篇

Hadoop成长之路-HDFS基本操作篇

-chgrp

-chmod

-chown

功能:这三个命令跟linux文件系统中的用法一样,对文件所属权限

示例:

hadoop fs -chmod 666 /hello.txt

hadoop fs -chown someuser:somegrp /hello.txt

Hadoop成长之路-HDFS基本操作篇

Hadoop成长之路-HDFS基本操作篇







Hadoop成长之路-HDFS基本操作篇

Hadoop成长之路-HDFS基本操作篇

-cp

功能:从hdfs的一个路径拷贝hdfs的另一个路径

示例:hadoop fs -cp /hello.txt   /input


Hadoop成长之路-HDFS基本操作篇

Hadoop成长之路-HDFS基本操作篇







Hadoop成长之路-HDFS基本操作篇

Hadoop成长之路-HDFS基本操作篇

-get

功能:等同于copyToLocal,从hdfs下载文件到本地

示例:hadoop fs -get /hello.txt /home/hadoop/Downloads

Hadoop成长之路-HDFS基本操作篇

Hadoop成长之路-HDFS基本操作篇







Hadoop成长之路-HDFS基本操作篇

Hadoop成长之路-HDFS基本操作篇

-put

功能:等同于copyFromLocal,将本地文件上传到hdfs

示例:hadoop fs -put  /home/hadoop/Downloads/hello.txt  /hello2.txt

Hadoop成长之路-HDFS基本操作篇

Hadoop成长之路-HDFS基本操作篇







Hadoop成长之路-HDFS基本操作篇

Hadoop成长之路-HDFS基本操作篇

-rm

功能:删除文件或文件夹

示例:hadoop fs -rm -r /hello2.txt

Hadoop成长之路-HDFS基本操作篇

Hadoop成长之路-HDFS基本操作篇




Hadoop成长之路-HDFS基本操作篇


在web端查看