首页 理论教育 云计算原理与技术:HDFS基本操作,备份系数设置

云计算原理与技术:HDFS基本操作,备份系数设置

时间:2023-10-29 理论教育 版权反馈
【摘要】:代码如下:示例:hadoop jar Sample.jarmainMethod args2.HDFS的基本命令对于HDFS来说,fs是启动命令行动作,用于提供一系列子命令,一般形式为“hadoop fs-cmd”,如采用如下代码获取帮助文件:HDFS常用的文件操作命令如下。备份系数在hdfs-site.xml中定义,默认值为3。示例:hadoop fs-setrep-w 3-R/user/file-test:ezd对文件进行检查。

云计算原理与技术:HDFS基本操作,备份系数设置

HDFS提供了一系列的命令行接口执行文件操作。所有的命令行由Hadoop脚本引发,如果未按指定要求运行,如缺少指定参数等,会自动在屏幕上打印所有的命令描述。

1.HDFS的通用命令

HDFS内置了一套对于整体环境进行处理的命令,常用的通用命令有archive、distp、fs和jas。

(1)archive:创建一个hadoop档案文件。其代码如下:

示例:hadoop archive-archibeName sample.txt/user/file.txt/user/sample.txt

(2)distp:在相同的文件系统中并行地复制文件。代码如下:

示例:hadoop distcp hdfs://host/user/file1 hdfs://host/user/file2

(3)fs:运行一个常规的文件基本命令。代码如下:

(4)jar:运行一个内含Hadoop运行代码的jar文件。代码如下:

示例:hadoop jar Sample.jarmainMethod args

2.HDFS的基本命令

对于HDFS来说,fs是启动命令行动作,用于提供一系列子命令(子命令前加横线),一般形式为“hadoop fs-cmd<args>”,如采用如下代码获取帮助文件:

HDFS常用的文件操作命令如下。

(1) -cat:将路径指定的文件输出到屏幕。其代码如下:

示例:hadoop fs-cat hdfs://host1:port1/file

   hadoop fs-cat file:///file3

(2) -copyFromLocal:将本地文件复制到HDFS中。其代码如下:

(3)copyToLocal:使用方法为hadoop fs-copyToLocal<localsrc>URI,将一个文件从HDFS系统中复制到本地文件。

(4) -cp:将文件从源路径复制到目标路径,可以复制多个源路径,但是目标路径必须是一个目录。代码如下:

示例:hadoop fs-cp/user/file/uesr/files

   hadoop fs-cp/user/file1/user/files/user/dir

(5) -du:显示目录中所有文件大小,或者指定一个文件时,显示此文件大小。代码如下:

示例:hadoop fs-du/user/dir1

   hadoop fs-du hdfs://host:port/user/file

(6) -dus:显示目标文件大小。代码如下:

(7) -expunge:清空回收站。代码如下:

(8) -get:复制文件到本地文件系统。代码如下:

示例:hadoop fs-get/user/file localfile(www.xing528.com)

   hadoop fs-get hdfs://host:port/file localfile

(9) -ls:浏览本地文件,并按如下格式返回文件信息。

如果浏览的是一个目录,则返回其子文件的一个列表,信息如下:

目录名  <dir> 修改日期 修改时间 权限 用户ID/组ID

(10) -lsr:递归地查阅文件内容。代码如下:

(11) -mkdir:创建对应的文件目录,并直接创建相应的父目录。代码如下:

示例:hadoop fs-mkdir/user/dir1/dir2/dir3/file

   hadoop fs-mkdir hdfs://host:port/user/dir

(12) -mv:将源文件移动到目标路径,目标路径可以有多个,不允许在不同文件系统移动。代码如下:

示例:hadoop fs-mv/user/file1/user/file2

hadoop fs-mv hdfs://host:port/file1 hdfs://host:prot/file2

(13) -put:从本地文件系统复制单个或多个源路径到目标文件系统。代码如下:

示例:hadoop fs-put localfile/user/file

   hadoop fs-put localfile hdfs://host:port/user/file

(14) -rm:删除指定的文件,且要求非空的目录和文件。代码如下:

示例:hadoop fs-rm hdfs://host:port/file

(15) -rmr:递归地删除指定文件中的空目录。代码如下:

(16) -setrep:改变一个副本复制份数。代码如下:

-R将修改子目录文件的性质。Hadoop的备份系数指每个block在hadoop集群中有几份,系数越高,冗余性越好,占用存储也越多。备份系数在hdfs-site.xml中定义,默认值为3。

示例:hadoop fs-setrep-w 3-R/user/file

(17) -test:ezd对文件进行检查。代码如下:

e检查文件是否存在,若存在返回值为0;z检查文件是否为0字节,如果是则返回0;d检查路径是否为目录,如果是则返回1,否则返回0

(18) -test:将源文件输出为文本格式,运行的格式是zip和text类。代码如下:

使用命令行对HDFS文件进行操作与一般操作命令类似,如将某一个文件从本地的文件系统复制到HDFS中,其操作代码如下:

此部分代码通过调用命令fs,指定执行脚本命令-copyFromLocal,将本地文localFile.txt复制到运行在localhost上的HDFS中。

在文件具体上传路径上没有写绝对路径,使用相对路径进行了简化,绝对路径前的地址在搭建HDFS时通过core-site.xml进行了指定,这里只需要简化执行即可。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈