HDFS 维护手册Word下载.docx
《HDFS 维护手册Word下载.docx》由会员分享,可在线阅读,更多相关《HDFS 维护手册Word下载.docx(29页珍藏版)》请在冰豆网上搜索。
//authority/path。
对HDFS文件系统,scheme是hdfs,对本地文件系统,scheme是file。
其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。
一个HDFS文件或目录比如/parent/child可以表示成hdfs:
//namenode:
namenodeport/parent/child,或者更简单的/parent/child(假设你配置文件中的默认值是namenode:
namenodeport)。
大多数FSShell命令的行为和对应的UnixShell命令类似,不同之处会在下面介绍各命令使用详情时指出。
出错信息会输出到stderr,其他信息输出到stdout。
3.1
cat
使用方法:
hadoopfs-catURI[URI…]
将路径指定文件的内容输出到stdout。
示例:
hadoopfs-cathdfs:
//host1:
port1/file1hdfs:
//host2:
port2/file2
hadoopfs-catfile:
///file3/user/hadoop/file4
返回值:
成功返回0,失败返回-1。
3.2
chgrp
hadoopfs-chgrp[-R]GROUPURI[URI…]
Changegroupassociationoffiles.With
-R,makethechangerecursivelythroughthedirectorystructure.Theusermustbetheowneroffiles,orelseasuper-user.Additionalinformationisinthe
PermissionsUserGuide.改变文件所属的组。
使用-R将使改变在目录结构下递归进行。
命令的使用者必须是文件的所有者或者超级用户。
更多的信息请参见HDFS权限用户指南。
3.3
chmod
hadoopfs-chmod[-R]<
MODE[,MODE]...|OCTALMODE>
URI[URI…]
改变文件的权限。
命令的使用者必须是文件的所有者或者超级用户。
更多的信息请参见HDFS权限用户指南。
3.4
chown
hadoopfs-chown[-R][OWNER][:
[GROUP]]URI[URI]
改变文件的拥有者。
命令的使用者必须是超级用户。
3.5
copyFromLocal
hadoopfs-copyFromLocal<
localsrc>
URI
除了限定源路径是一个本地文件外,和put命令相似。
3.6
copyToLocal
hadoopfs-copyToLocal[-ignorecrc][-crc]URI<
localdst>
除了限定目标路径是一个本地文件外,和get命令类似。
3.7
cp
hadoopfs-cpURI[URI…]<
dest>
将文件从源路径复制到目标路径。
这个命令允许有多个源路径,此时目标路径必须是一个目录。
hadoopfs-cp/user/hadoop/file1/user/hadoop/file2
hadoopfs-cp/user/hadoop/file1/user/hadoop/file2/user/hadoop/dir
成功返回0,失败返回-1。
3.8
du
hadoopfs-duURI[URI…]
显示目录中所有文件的大小,或者当只指定一个文件时,显示此文件的大小。
示例:
hadoopfs-du/user/hadoop/dir1/user/hadoop/file1hdfs:
//host:
port/user/hadoop/dir1
3.9
dus
hadoopfs-dus<
显示文件的大小。
3.10
expunge
hadoopfs-expunge
清空回收站。
请参考HDFS设计文档以获取更多关于回收站特性的信息。
3.11
get
hadoopfs-get[-ignorecrc][-crc]<
src>
<
复制文件到本地文件系统。
可用-ignorecrc选项复制CRC校验失败的文件。
使用-crc选项复制文件以及CRC信息。
hadoopfs-get/user/hadoop/filelocalfile
hadoopfs-gethdfs:
port/user/hadoop/filelocalfile
3.12
getmerge
hadoopfs-getmerge<
[addnl]
接受一个源目录和一个目标文件作为输入,并且将源目录中所有的文件连接成本地目标文件。
addnl是可选的,用于指定在每个文件结尾添加一个换行符。
3.13
ls
hadoopfs-ls<
如果是文件,则按照如下格式返回文件信息:
文件名<
副本数>
文件大小修改日期修改时间权限用户ID组ID
如果是目录,则返回它直接子文件的一个列表,就像在Unix中一样。
目录返回列表的信息如下:
目录名<
dir>
修改日期修改时间权限用户ID组ID
hadoopfs-ls/user/hadoop/file1/user/hadoop/file2hdfs:
port/user/hadoop/dir1/nonexistentfile
3.14
lsr
hadoopfs-lsr<
ls命令的递归版本。
类似于Unix中的ls-R。
3.15
mkdir
hadoopfs-mkdir<
paths>
接受路径指定的uri作为参数,创建这些目录。
其行为类似于Unix的mkdir-p,它会创建路径中的各级父目录。
hadoopfs-mkdir/user/hadoop/dir1/user/hadoop/dir2
hadoopfs-mkdirhdfs:
port1/user/hadoop/dirhdfs:
port2/user/hadoop/dir
3.16
movefromLocal
dfs-moveFromLocal<
dst>
输出一个”notimplemented“信息。
3.17
mv
hadoopfs-mvURI[URI…]<
将文件从源路径移动到目标路径。
不允许在不同的文件系统间移动文件。
不支持文件夹重命令。
hadoopfs-mv/user/hadoop/file1/user/hadoop/file2
hadoopfs-mvhdfs:
port/file1hdfs:
port/file2hdfs:
port/file3hdfs:
port/dir1
3.18
put
hadoopfs-put<
...<
从本地文件系统中复制单个或多个源路径到目标文件系统。
也支持从标准输入中读取输入写入目标文件系统。
hadoopfs-putlocalfile/user/hadoop/hadoopfile
hadoopfs-putlocalfile1localfile2/user/hadoop/hadoopdir
hadoopfs-putlocalfilehdfs:
port/hadoop/hadoopfile
hadoopfs-put-hdfs:
port/hadoop/hadoopfile
从标准输入中读取输入。
3.19
rm
hadoopfs-rmURI[URI…]
删除指定的文件。
只删除非空目录和文件。
请参考rmr命令了解递归删除。
hadoopfs-rmhdfs:
port/file/user/hadoop/emptydir
3.20
rmr
hadoopfs-rmrURI[URI…]
delete的递归版本。
hadoopfs-rmr/user/hadoop/dir
hadoopfs-rmrhdfs:
port/user/hadoop/dir
3.21
setrep
hadoopfs-setrep[-R]<
path>
改变一个文件的副本系数。
-R选项用于递归改变目录下所有文件的副本系数。
hadoopfs-setrep-w3-R/user/hadoop/dir1
3.22
stat
hadoopfs-statURI[URI…]
返回指定路径的统计信息。
hadoopfs-statpath
3.23
tail
hadoopfs-tail[-f]URI
将文件尾部1K字节的内容输出到stdout。
支持-f选项,行为和Unix中一致。
hadoopfs-tailpathname
3.24
test
hadoopfs-test-[ezd]URI
选项:
-e检查文件是否存在。
如果存在则返回0。
-z检查文件是否是0字节。
如果是则返回0。
-d如果路径是个目录,则返回1,否则返回0。
hadoopfs-test-efilename
3.25
text
hadoopfs-text<
将源文件输出为文本格式。
允许的格式是zip和TextRecordInputStream。
3.26
touchz
hadoopfs-touchzURI[URI…]
创建一个0字节的空文件。
hadoop-touchzpathname
4
命令手册
4.1
概述
所有的hadoop命令均由bin/hadoop脚本引发。
不指定参数运行hadoop脚本会打印所有命令的描述。
用法:
hadoop[--configconfdir][COMMAND][GENERIC_OPTIONS][COMMAND_OPTIONS]
Hadoop有一个选项解析框架用于解析一般的选项和运行类。
命令选项
描述
--configconfdir
覆盖缺省配置目录。
缺省是${HADOOP_HOME}/conf。
GENERIC_OPTIONS
多个命令都支持的通用选项。
COMMAND
命令选项S
各种各样的命令和它们的选项会在下面提到。
这些命令被分为
用户命令
管理命令两组。
4.1.1
常规选项
下面的选项被
dfsadmin,
fs,
fsck和
job支持。
应用程序要实现
Tool来支持
常规选项。
GENERIC_OPTION
-conf<
configurationfile>
指定应用程序的配置文件。
-D<
property=value>
为指定property指定值value。
-fs<
local|namenode:
port>
指定namenode。
-jt<
local|jobtracker:
指定jobtracker。
只适用于job。
-files<
逗号分隔的文件列表>
指定要拷贝到mapreduce集群的文件的逗号分隔的列表。
只适用于job。
-libjars<
逗号分隔的jar列表>
指定要包含到classpath中的jar文件的逗号分隔的列表。
-archives<
逗号分隔的archive列表>
指定要被解压到计算节点上的档案文件的逗号分割的列表。
4.2
用户命令
hadoop集群用户的常用命令。
4.2.1
archive
创建一个hadoop档案文件。
参考
HadoopArchives.
hadooparchive-archiveNameNAME<
*<
-archiveNameNAME
要创建的档案的名字。
src
文件系统的路径名,和通常含正则表达的一样。
dest
保存档案文件的目标目录。
4.2.2
distcp
递归地拷贝文件或目录。
参考DistCp指南以获取等多信息。
hadoopdistcp<
srcurl>
desturl>
srcurl
源Url
desturl
目标Url
4.2.3
fs
hadoopfs[GENERIC_OPTIONS][COMMAND_OPTIONS]
运行一个常规的文件系统客户端。
各种命令选项可以参考HDFSShell指南。
4.2.4
fsck
运行HDFS文件系统检查工具。
参考Fsck了解更多。
hadoopfsck[GENERIC_OPTIONS]<
[-move|-delete|-openforwrite][-files[-blocks[-locations|-racks]]]
<
检查的起始目录。
-move
移动受损文件到/lost+found
-delete
删除受损文件。
-openforwrite
打印出写打开的文件。
-files
打印出正被检查的文件。
-blocks
打印出块信息报告。
-locations
打印出每个块的位置信息。
-racks
打印出data-node的网络拓扑结构。
4.2.5
jar
运行jar文件。
用户可以把他们的MapReduce代码捆绑到jar文件中,使用这个命令执行。
hadoopjar<
jar>
[mainClass]args...
streaming作业是通过这个命令执行的。
参考Streamingexamples中的例子。
Wordcount例子也是通过jar命令运行的。
参考Wordcountexample。
4.2.6
job
用于和MapReduce作业交互和命令。
hadoopjob[GENERIC_OPTIONS][-submit<
job-file>
]|[-status<
job-id>
]|[-counter<
group-name>
counter-name>
]|[-kill<
]|[-events<
from-event-#>
#-of-events>
]|[-history[all]<
jobOutputDir>
]|[-list[all]]|[-kill-task<
task-id>
]|[-fail-task<
]
-submit<
提交作业
-status<
打印map和reduce完成百分比和所有计数器。
-counter<
打印计数器的值。
-kill<
杀死指定作业。
-events<
打印给定范围内jobtracker接收到的事件细节。
-history[all]<
-history<
打印作业的细节、失败及被杀死原因的细节。
更多的关于一个作业的细节比如成功的任务,做过的任务尝试等信息可以通过指定[all]选项查看。
-list[all]
-listall显示所有作业。
-list只显示将要完成的作业。
-kill-task<
杀死任务。
被杀死的任务不会不利于失败尝试。
-fail-task<
使任务失败。
被失败的任务会对失败尝试不利。
4.2.7
pipes
运行pipes作业。
hadooppipes[-conf<
][-jobconf<
key=value>
<
...][-input<
][-output<
][-jar<
jarfile>
][-inputformat<
class>
][-map<
][-partitioner<
][-reduce<
][-writer<
][-program<
executable>
][-reduces<
num>
作业的配置
-jobconf<
...
增加/覆盖作业的配置项
-input<
输入目录
-output<
输出目录
-jar<
Jar文件名
-inputformat<
InputFormat类
-map<
JavaMap类
-partitioner<
JavaPartitioner
-reduce<
JavaReduce类
-writer<
JavaRecordWriter
-program<
可执行程序的URI
-reduces<
reduce个数
4.2.8
version
打印版本信息。
hadoopversion
4.2.9
CLASSNAME
hadoop脚本可用于调调用任何类。
hadoopCLASSNAME
运行名字为CLASSNAME的类。
4.3
管理命令
hadoop集群管理员常用的命令。
4.3.1
balancer
运行集群平衡工具。
管理员可以简单的按Ctrl-C来