日期:2014-05-16  浏览次数:20912 次

[综合]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