概述
所有的HDFS命令都调用bin/hdfs脚本文件,如果运行hdfs脚本没有带任何参数的话,则打印所有命令的描述。
使用: hdfs [SHELL_OPTIONS] COMMAND [GENERIC_OPTIONS] [COMMAND_OPTIONS]
Hadoop是一个参数解析框架,采用解析泛型选项以及运行类。
命令参数 | 描述 |
---|---|
--config --loglevel |
指定一个默认的配置文件目录,默认值是: ${HADOOP_PREFIX}/conf .重载Log级别。有效的日志级别包含:FATAL, ERROR, WARN, INFO, DEBUG, and TRACE。默认是INFO。 |
GENERIC_OPTIONS | YARN支持表A的通用命令项。 |
COMMAND COMMAND_OPTIONS | YARN分为用户命令和管理员命令。 |
表A:
通用项 | Description |
---|---|
-archives <comma separated list of archives> |
用逗号分隔计算中未归档的文件。 仅仅针对JOB。 |
-conf <configuration file> |
制定应用程序的配置文件。 |
-D <property>=<value> |
使用给定的属性值。 |
-files <comma separated list of files> |
用逗号分隔的文件,拷贝到Map reduce机器,仅仅针对JOB |
-jt <local> or <resourcemanager:port> |
指定一个ResourceManager. 仅仅针对JOB。 |
-libjars <comma seperated list of jars> |
将用逗号分隔的jar路径包含到classpath中去,仅仅针对JOB。 |
用户命令:
对于Hadoop集群用户很有用的命令:
dfs
使用: hdfs dfs [COMMAND [COMMAND_OPTIONS]]
在hadoop中运行支持文件系统的命令。各种[COMMAND_OPTIONS]命令可以查看Hadoop之文件系统Shell 。
fetchdt
使用: hdfs fetchdt [--webservice <namenode_http_addr>] <path>
命令参数 | 描述 |
---|---|
--webservice https_address |
使用HTTP端口代替RPC |
fileName | 存储token的文件名。 |
从NameNode获取DelegationToken(授权标识)。
hdfs脚本支持fetchdt命令来获取DelegationToken(授权标识),并存储在本地文件系统的一个文件中。这样“非安全”的客户端可以使用该标识去访问受限的服务器(例如NameNode)。可以采用RPC或HTTPS(over Kerberos)方式获取该标示,在获取之前需要提交Kerberos凭证(运行kinit来获得凭证)。当你获得授权标识后,通过指定环境变量HADOOP_TOKEN_FILE_LOCATION为授权标识文件名,你就可以运行HDFS命令,而不需要Kerberros凭证了。
fsck
使用:
hdfs fsck <path>
[-list-corruptfileblocks |
[-move | -delete | -openforwrite]
[-files [-blocks [-locations | -racks]]]
[-includeSnapshots]
命令选项 | 描述 |
---|---|
path | 指定诊断的路径(既可以是文件也可以是目录) |
-delete |
删除损坏的文件。 |
-files |
打印被诊断的文件。 |
-files -blocks |
打印被诊断的文件的块信息。 |
-files -blocks -locations |
打印每个块的位置信息。 |
-files -blocks -racks |
打印数据块的网络拓扑结构 |
-includeSnapshots |
如果给定的路径包含快照的路径或者快照在该路径下,则包含快照的数据。 |
-list-corruptfileblocks |
打印丢失的块列表以及块所属的文件。 |
-move |
移动损坏的文件到/lost+found目录。 |
-openforwrite |
打印正在被写入的文件。 |
诊断文件系统健康状态的工具,能够帮助发现丢失的文件或数据块。
示例:
[hadoop@hadoopcluster78 bin]$ hdfs fsck /test/fish -files -blocks
Connecting to namenode via http://hadoopcluster78:50070
FSCK started by hadoop (auth:SIMPLE) from /10.0.1.78 for path /test/fish at Fri Aug 14 12:01:50 CST 2015
/test/fish <dir>
/test/fish/box_log_20150721.txt 2018468864 bytes, 16 block(s): OK
0. BP-701099497-10.0.1.78-1430101367576:blk_1073749326_8927 len=134217728 repl=3
1. BP-701099497-10.0.1.78-1430101367576:blk_1073749327_8928 len=134217728 repl=3
2. BP-701099497-10.0.1.78-1430101367576:blk_1073749328_8929 len=134217728 repl=3
3. BP-701099497-10.0.1.78-1430101367576:blk_1073749329_8930 len=1