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操作命令的主要内容,如果未能解决你的问题,请参考以下文章