所有的hadoop命令都由bin/hadoop脚本执行。hadoop命令大致分为三类,hadoop common,hdfs和yarn
这个脚本的用法是:hadoop [--config confdir] [--loglevel loglevel] [COMMAND] [GENERIC_OPTIONS] [COMMAND_OPTIONS]。其中
--config confdir 用来重写配置目录,默认是${HADOOP_HOME}/conf。
--loglevel loglevel 用来重写日志级别,可选级别有:FATAL, ERROR, WARN, INFO, DEBUG, and TRACE. 默认是INFO.
GENERIC_OPTIONS 众多hadoop命令所共有的options
COMMAND_OPTIONS hadoop common command和HDFS、YARN command
GENERAL_OPTIONS
很多子命令(hadoop common、yarn、hdfs commands)共有一套options,包括
GENERIC_OPTION | Description |
---|---|
-archives <comma separated list of archives> | 指定需要被解压的archives(逗号分隔),仅仅对job有效 |
-conf <configuration file> | 指定一个应用配置文件 |
-D <property>=<value> | 配置参数值 |
-files <comma separated list of files> | 指定需要被上传mapreduce集群的文件(逗号分隔),仅仅对job有效. |
-jt <local> or <resourcemanager:port> | 指定一个ResourceManager,仅仅对job有效. |
-libjars <comma seperated list of jars> | 指定classpath中的jar文件(逗号分隔),仅仅对job有效. |
Hadoop Common Commands:
hadoop common commands又可以分为user command和administrator command。
1、archive
用于创建一个hadoop archive(感觉是一种类似压缩文件的东西,具体情况暂时不明)
2、checknative
用来检查hadoop本地可用的代码。默认情况下检查libhadoop的可用性。
3、classpath
用来打印classpath。不带参数时,打印命令脚本(hadoop)创立的classpath。
4、credential
用来管理证书,passwords和有关证书提供者(比如java keystore)的secrets
hadoop的CredentialProvider API允许应用分开保存它们的passwords/secrets。为了指明特定的provider,需要在core-site.xml中指定hadoop.security.credential.provider.path参数或者使用--provider参数指定。
5、distcp
用于复制文件和目录
6、fs
相当于hdfs dfs
7、jar
运行一个jar文件
8、key
通过KeyProvider来管理keys
9、trace
查看和修改hadoop tracing设置
10、version
打印版本
11、CLASSNAME
执行以CLASSNAME命名的类
12、daemonlog
这是一个hadoop集群管理命令。用法是
hadoop daemonlog -getlevel <host:httpport> <classname> hadoop daemonlog -setlevel <host:httpport> <classname> <level>用于查看或修改类的日志级别。因为使用log4j,类名和日志级别可以挂钩。