全部Hadoop命令經過bin/hadoop腳本調用。不帶任何參數運行Hadoop腳本打印全部命令描述。node
用法:shell
hadoop [--config confdir] [--loglevel loglevel] [COMMAND] [GENERIC_OPTIONS] apache
[COMMAND_OPTIONS]tcp
字段 | 描述 |
--config confdir | 覆蓋默認配置目錄。默認目錄是${HADOOP_HOME}/conf |
--loglevel loglevel | 覆蓋日誌級別。有效值:FATAL、ERROR、WARN、INFO、DEBUG和TRACE。默認爲INFO。 |
GENERIC_OPTIONS | 支持多個命令的options集合 |
COMMAND_OPTIONS | Hadoop子項目的各類命令的options集合 |
Generic Optionside
GENERIC_OPTIONS | 描述 |
-archives | Specify comma separated archives to be unarchived on the compute machines. Applies only to job. |
-conf | 指定一個應用程序的配置文件 |
-D = | 使用指定屬性值 |
-files | 指定逗號分隔的文件列表複製到MapReduce集羣。只應用於任務。 |
-jt or | 指定ResourceManager。只應用於任務。 |
-libjars | 指定逗號分隔的jar文件包括在classpath中。應用於任務。 |
全部這些命令從hadoop shell command執行。它們被分爲用戶命令和管理員命令。oop
Hadoop集羣用戶使用的命令。spa
archive命令行
建立hadoop歸檔。日誌
checknativeserver
用法:hadoop checknative [-a] [-h]
COMMAND_OPTION | 描述 |
-a | 檢測全部類庫是否可用 |
-h | 打印幫助 |
該命令檢測Hadoop本地代碼有效性。默認,該命令只檢測libhadoop有效性。
classpath
用法:
用法:hadoop classpath [--glob |--jar <path> |-h |--help]
COMMAND_OPTION | 描述 |
--glob | 執行通配符 |
--jar | 指定jar名稱 |
-h |--help | 打印幫助 |
打印須要獲取的Hadoop jar和必須類庫的classpath。若是沒有參數,那麼打印整個
classpath。額外選項打印通配符擴展後面的classpath或寫classpath到jar文件的清單文件
中。
credential
用法:
hadoop credential <subcommand> [options]
COMMAND_OPTION | 描述 |
create alias [-provider provider-path] | 提示用戶證書存儲爲指定別名。core-site.xml文件中的 hadoop.security.credential.provider.path將被使用除非提供-provider參數。 |
delete alias [-provider provider-path] [-f] | 使用指定別名刪除證書。core-site.xml文件中的 hadoop.security.credential.provider.path 將被使用,除非指定-provider。指定-f選項系統會詢問你是否確認執行命令。 |
list [-provider provider-path] | 列出全部的證書別名。core-site.xml的 hadoop.security.credential.provider.path 將被使用,除非指定-provider。 |
命令管理在證書提供商中管理證書、密碼和祕鑰。
Hadoop的CredentialProvider API容許將應用程序和它們須要的密碼/祕鑰分開存儲。爲了指定
特殊提供商的類型和位置,用戶必須在core-site.xml文件中設置
hadoop.security.credential.provider.path配置元素或使用命令行選項-provider。該提供商
路徑是一個逗號分隔的表示提供商類型和位置的URL列表。例如:
user:///,jceks://file/tmp/test.jceks,jceks://hdfs@nn1.example.com/my/path
/test.jceks
表示當前用戶的證書文件經過User Provider獲取,本地文件系統位於/tmp/test.jceks是Java
Keystore Provider,HDFS文件系統中的nn1.example.com/my/path/test.jceks也是Java
Keystore Provider。
當利用證書命令,它將提供密碼或祕鑰給特定證書存儲提供商。爲了明確指定提供商存儲位置
使用-provider選項。不然,指定多個提供商,第一個非瞬時的提供商被使用。
例子:
hadoop credential list -provider jceks://file/tmp/test.jceks
distcp
遞歸複製文件和目錄。
fs
等價於HDFS中的hdfs dfs命令。
jar
用法:
hadoop jar <jar> [mainClass] args...
運行jar文件。
使用yarn jar加載YARN應用程序。
key
經過KeyProvider管理鍵。
trace
瀏覽和修改Hadoop追蹤設置。
version
用法:
hadoop version
打印版本。
classname
用法:
hadoop CLASSNAME
運行類名CLASSNAME的類。
Hadoop集羣管理員使用的命令。
daemonlog
用法:
hadoop daemonlog -getlevel <host:httpport> <classname>
hadoop daemonlog -setlevel <host:httpport> <classname> <level>
COMMAND_OPTION | 描述 |
-getlevel | 打印運行在後臺host:httpport以徹底限定類名定義的日誌的級別。該命令內部連接http:///logLevel?log= |
-setlevel | 設置運行在後臺host:httpport以徹底限定類名定義的日誌的級別。該命令內部連接http:///logLevel?log=&level= |
例子:
bin/hadoop daemonlog -setlevel 127.0.0.1:50070
org.apache.hadoop.hdfs.server.namenode.NameNode DEBUG