HDFS的fs shell操作命令

Posted 贝麻麻的生活

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDFS的fs shell操作命令相关的知识,希望对你有一定的参考价值。

HDFS的fs shell操作命令

HDFS作为一个分布式文件系统和Linux的文件系统一样,也具有类似的命令行接口,所有的命令都由 bin/hadoop 脚本引发,若不指定参数运行 Hadoop 脚本会打印所有命令的描述。

通用语法:

hadoop [–config confidir] COMMAND

–config confidir 覆盖默认配置目录,

默认使用的配置是 $HADOOPHOME/conf 。

查看帮助信息命令:$HADOOPHOME/bin/hadoop fs –help

HDFS资源URI格式:scheme://authority/path

scheme:协议名,file或hdfs

authority:namenode主机名

path:路径

示例:hdfs://master:9000/user/chunk/input.txt

前提是已经在core-site.xml里配置了fs.default.name=hdfs://master:9000,则仅使用/user/chunk/input.txt即可。

hdfs默认工作目录为/user/USER,USER是当前的登录用户名。

具体的 HDFS fs shell 常用命令:

1、cat

命令格式:hadoop fs -cat URI URI … 将路径指定文件的内容输出到stdout。

例如:hadoop fs -cat hdfs://master:port/file1

hadoop fs -cat file:///data/port-00000

成功返回0,失败返回-1。

2、ls

命令格式:hadoop fs -ls <args>

如果是文件,则按照如下格式返回文件信息:文件名 <副本数> 文件大小 修改日期 修改时间 权限 用户ID 组ID

如果是目录,则返回它直接子文件的一个列表,就像在Unix中一样。目录返回列表的信息:目录名 <dir> 修改日期 修改时间 权限 用户ID 组ID

3、chgrp

命令格式:hadoop fs -chgrp -R GROUP URI URI … 

改变文件所属的组。使用-R将使改变在目录结构下递归进行。命令的使用者必须是文件的所有者或者超级用户。

4、chmod

命令格式:hadoop fs -chmod -R <MODE,MODE… | OCTALMODE> URI URI …

改变文件的权限。使用-R将使改变在目录结构下递归进行。命令的使用者必须是文件的所有者或者超级用户。

5、chown

命令格式:hadoop fs -chown -R OWNER:[GROUP] URI URI

改变文件的拥有者。使用-R将使改变在目录结构下递归进行。命令的使用者必须是超级用户。

6、copyFromLocal

命令格式:hadoop fs -copyFromLocal <localsrc> URI

除了限定源路径是一个本地文件外,和put命令相似。

7、copyToLocal

命令格式:hadoop fs -copyToLocal -ignorecrc -crc URI <localdst>

除了限定目标路径是一个本地文件外,和get命令类似。

8、cp

命令格式:hadoop fs -cp URI URI … <dest>

将文件从源路径复制到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录。

例如:hadoop fs -cp /user/hadoop/file1 /user/hadoop/file2

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

返回值:成功返回0,失败返回-1。

9、du

命令格式:hadoop fs -du URI URI …

显示目录中所有文件的大小,或者当只指定一个文件时,显示此文件的大小。

返回值:成功返回0,失败返回-1。

10、expunge

命令格式:hadoop fs -expunge

清空回收站。

11、get

命令格式:hadoop fs -get -ignorecrc -crc <src> <localdst> 

复制文件到本地文件系统。可用-ignorecrc选项复制CRC校验失败的文件。使用-crc选项复制文件以及CRC信息。

12、put

使用方法:hadoop fs -put <localsrc> … <dst>

从本地文件系统中复制单个或多个源路径到目标文件系统。也支持从标准输入中读取输入写入目标文件系统。

13、getmerge(合并多个文件下载到本地)

命令格式:hadoop fs -getmerge <src> <localdst> addnl

接受一个源目录和一个目标文件作为输入,并且将源目录中所有的文件连接成本地目标文件。addnl是可选的,


以上是关于HDFS的fs shell操作命令的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop之HDFS(概述和Shell操作)

HDFS的Shell操作(开发重点)

Hadoop Shell命令(基于linux操作系统上传下载文件到hdfs文件系统基本命令学习)

HDFS基本命令fs的使用操作

hadoop fs(HDFS文件系统命令)

“hadoop fs”shell 命令和“hdfs dfs”shell 命令有啥区别?