`
小网客
  • 浏览: 1217008 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

[综合]Apache Hadoop 2.2.0文件系统shell(一)[翻译]

 
阅读更多

概述

文件系统shell包括各种跟shell类似的命令来跟hdfs交互,同时也支持其他的hadoop支持的文件系统如:本地FS, HFTP FS, S3 FS等,shell命令调用方式如下:

 

bin/hadoop fs <args>

所有的命令文件路径都作为参数传入,文件路径的格式如 scheme://authority/path。对于hdfs而言scheme为hdfs,对于本地系统scheme 为 file。scheme 和authority 都是可选的,如果不指定那么默认采用系统配置的参数。hdfs的文件或者目录如/parent/child 写全了就是hdfs://namenodehost/parent/child ,简短即 /parent/child(配置文件指向了hdfs://namenodehost)。

 

大部分的文件系统shell命令类unix命令。每个命令的不同支持都会描述清楚。执行错误信息执行stderr ,其他输出执行stdout。

 

appendToFile

用法:

hdfs dfs -appendToFile <localsrc> ... <dst>

 追加本地文件一个或者多个到目标系统上,同时也可以从命令行输入信息追加到目标文件系统文件上去,如:

hdfs dfs -appendToFile localfile /user/hadoop/hadoopfile
hdfs dfs -appendToFile localfile1 localfile2 /user/hadoop/hadoopfile
hdfs dfs -appendToFile localfile hdfs://nn.example.com/hadoop/hadoopfile
hdfs dfs -appendToFile - hdfs://nn.example.com/hadoop/hadoopfile 命令行输入.

成功返回0,错误返回1

 

cat

用法:

 hdfs dfs -cat URI [URI ...]

展示目标文件内容到屏幕,如:

hdfs dfs -cat hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2
hdfs dfs -cat file:///file3 /user/hadoop/file4

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

 

chgrp

用法:

 hdfs dfs -chgrp [-R] GROUP URI [URI ...]

修改文件的用户组。执行操作人必须拥有此文件或者是超级用户,更多信息参考权限指南。

选项:

-R 会递归修改文件用户组权限。

 

chmod

用法:

hdfs dfs -chmod [-R] <MODE[,MODE]... | OCTALMODE> URI [URI ...]

修改文件权限,-R参数会递归修改子目录及文件,操作者必须拥有此文件或者是超级用户,更多信息参见权限指南。

 

chown

用法:

hdfs dfs -chown [-R] [OWNER][:[GROUP]] URI [URI ]

修改文件拥有者,-R参数会递归修改子目录及文件,用户必须为超级用户,更多信息参见权限指南。

 

copyFromLocal

用法:

hdfs dfs -copyFromLocal <localsrc> URI

跟put命令类似,目标文件不能是一个引用。-f选项是当目标文件存在的时候会覆盖目标文件。

 

copyToLocal

用法:

 hdfs dfs -copyToLocal [-ignorecrc] [-crc] URI <localdst>

同get命令,目标文件不能是一个文件引用。

 

count

用法:

hdfs dfs -count [-q] <paths>

统计其子路径目录数,文件数,内容大小,其列分别为: DIR_COUNT, FILE_COUNT, CONTENT_SIZE FILE_NAME,选项-q那么他的列为: QUOTA, REMAINING_QUATA, SPACE_QUOTA, REMAINING_SPACE_QUOTA, DIR_COUNT, FILE_COUNT, CONTENT_SIZE, FILE_NAME

如:

hdfs dfs -count hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2
hdfs dfs -count -q hdfs://nn1.example.com/file1

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

 

count

用法:

hdfs dfs -cp [-f] URI [URI ...] <dest>

拷贝源文件到目标文件,支持多源文件,不过目标文件需要是一个目录,-f选项为当存在的时候会覆盖,如:

hdfs dfs -cp /user/hadoop/file1 /user/hadoop/file2
hdfs dfs -cp /user/hadoop/file1 /user/hadoop/file2 /user/hadoop/dir

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

 

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics