用户命令
Hadoop 集群用户有用的命令。
archive
创建 Hadoop 归档。可在 Hadoop 归档指南 中找到更多信息。
checknative
用法:hadoop checknative [-a] [-h]
COMMAND_OPTION
说明
-a
检查所有库是否可用。
-h
打印帮助
此命令检查 Hadoop 本机代码的可用性。有关更多信息,请参阅 本机库。默认情况下,此命令仅检查 libhadoop 的可用性。
classpath
用法:hadoop classpath [--glob |--jar
COMMAND_OPTION
说明
--glob
展开通配符
--jar path
将类路径作为清单写入名为 path 的 jar 中
-h, --help
打印帮助
打印获取 Hadoop jar 和所需库所需的类路径。如果在没有参数的情况下调用,则打印命令脚本设置的类路径,其中可能包含类路径条目中的通配符。其他选项在通配符展开后打印类路径或将类路径写入 jar 文件的清单中。后者在无法使用通配符且展开的类路径超过支持的最大命令行长度的环境中很有用。
conftest
用法:hadoop conftest [-conffile
COMMAND_OPTION
说明
-conffile
要验证的配置文件或目录的路径
-h, --help
打印帮助
验证配置 XML 文件。如果未指定 -conffile 选项,则将验证 ${HADOOP_CONF_DIR} 中名称以 .xml 结尾的文件。如果指定,则将验证该路径。您可以指定文件或目录,如果指定目录,则将验证该目录中名称以 .xml 结尾的文件。您可以多次指定 -conffile 选项。
验证相当简单:解析 XML 并检查重复和空属性名称。该命令不支持 XInclude;如果您使用它来提取配置项,它将声明 XML 文件无效。
credential
用法:hadoop credential <子命令> [选项]
COMMAND_OPTION
说明
create 别名 [-provider 提供程序路径] [-strict] [-value 凭据值]
提示用户输入要存储为给定别名的凭据。除非指定了 -provider,否则将使用 core-site.xml 文件中的 hadoop.security.credential.provider.path。如果提供程序使用默认密码,-strict 标志将导致命令失败。使用 -value 标志提供凭据值(又称别名密码),而不是提示输入。
delete 别名 [-provider 提供程序路径] [-strict] [-f]
删除具有提供别名的凭据。除非指定了 -provider,否则将使用 core-site.xml 文件中的 hadoop.security.credential.provider.path。如果提供程序使用默认密码,-strict 标志将导致命令失败。除非指定了 -f,否则该命令会要求确认
list [-provider 提供程序路径] [-strict]
列出所有凭据别名。除非指定了 -provider,否则将使用 core-site.xml 文件中的 hadoop.security.credential.provider.path。如果提供程序使用默认密码,-strict 标志将导致命令失败。
check 别名 [-provider 提供程序路径] [-strict]
检查给定别名的密码。除非指定了 -provider,否则将使用 core-site.xml 文件中的 hadoop.security.credential.provider.path。如果提供程序使用默认密码,-strict 标志将导致命令失败。
用于管理凭据提供程序中的凭据、密码和机密的命令。
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
表示应通过用户提供程序咨询当前用户的凭据文件,位于 /tmp/test.jceks 的本地文件是 Java 密钥库提供程序,而位于 HDFS 中的 nn1.example.com/my/path/test.jceks 的文件也是 Java 密钥库提供程序的存储。
在使用凭据命令时,通常会为特定凭据存储提供程序设置密码或密钥。为了明确指出要使用哪个提供程序存储,应使用 -provider 选项。否则,给定多个提供程序的路径,将使用第一个非瞬态提供程序。这可能是您想要的,也可能不是。
提供程序经常要求提供密码或其他密钥。如果提供程序需要密码但找不到密码,它将使用默认密码并发出警告消息,指出正在使用默认密码。如果提供了 -strict 标志,警告消息将变为错误消息,并且命令将立即返回错误状态。
示例:hadoop credential list -provider jceks://file/tmp/test.jceks
distch
用法:hadoop distch [-f urilist_url] [-i] [-log logdir] path:owner:group:permissions
COMMAND_OPTION
说明
-f
要更改的对象列表
-i
忽略故障
-log
记录输出的目录
一次更改多个文件的权限和所有权。
distcp
递归复制文件或目录。有关更多信息,请参阅 Hadoop DistCp 指南。
dtutil
用法:hadoop dtutil [-keytab keytab_file -principal principal_name ] subcommand [-format (java|protobuf)] [-alias alias ] [-renewer renewer ] filename…
用于在凭据文件中获取和管理 Hadoop 委派令牌的实用工具。它旨在替换更简单的命令 fetchdt。有多个子命令,每个子命令都有自己的标志和选项。
对于每个写出文件的子命令,-format 选项将指定要使用的内部格式。java 是与 fetchdt 匹配的旧格式。默认值为 protobuf。
对于连接到服务的每个子命令,提供了方便的标志来指定用于身份验证的 Kerberos 主体名称和 keytab 文件。
子命令
说明
print [-alias alias ] filename [ filename2 ...]
打印 filename(和 filename2 …)中包含的令牌中的字段。如果指定了 别名,则仅打印与 别名 匹配的令牌。否则,打印所有令牌。
get URL [-service 方案 ] [-format (java|protobuf)] [-alias alias ] [-renewer 更新程序 ] 文件名
从 URL 处的服务获取令牌并将其置于 文件名 中。 URL 是必需的,并且必须紧跟 get。 URL 是服务 URL,例如 hdfs://:9000。 别名 将覆盖令牌中的服务字段。它适用于具有外部和内部名称的主机,例如 firewall.com:14000。 文件名 应放在最后,并且是令牌文件的文件名。如果不存在,则会创建它。否则,令牌将添加到现有文件中。-service 标志仅应与以 http 或 https 开头的 URL 一起使用。以下等效:hdfs://:9000/ 与 https://:9000 -service hdfs
追加 [-format (java|protobuf)] 文件名 文件名2 [ 文件名3 ...]
将前 N 个文件名的内容追加到最后一个文件名上。当多个文件中存在具有公共服务字段的令牌时,将覆盖较早文件的令牌。也就是说,始终保留最后一个文件中存在的令牌。
remove -alias 别名 [-format (java|protobuf)] filename [ filename2 ...]
从指定的每个文件中,删除与 别名 匹配的令牌,并使用指定的格式写出每个文件。 必须指定 别名。
cancel -alias 别名 [-format (java|protobuf)] filename [ filename2 ...]
与 remove 相同,但令牌也会使用令牌对象中指定的服务取消。 必须指定 别名。
renew -alias 别名 [-format (java|protobuf)] filename [ filename2 ...]
对于指定的每个文件,续订与 别名 匹配的令牌,并使用指定的格式写出每个文件。 必须指定 别名。
import base64 [-alias alias ] 文件名
从 base64 令牌导入令牌。 别名 将覆盖令牌中的服务字段。
fs
此命令在 文件系统 Shell 指南 中有记录。在使用 HDFS 时,它是 hdfs dfs 的同义词。
gridmix
Gridmix 是 Hadoop 集群的基准测试工具。可以在 Gridmix 指南 中找到更多信息。
jar
用法:hadoop jar
运行 jar 文件。
使用 yarn jar 来启动 YARN 应用程序。
jnipath
用法:hadoop jnipath
打印计算出的 java.library.path。
kerbname
用法:hadoop kerbname principal
通过 auth_to_local 规则将命名的主体转换为 Hadoop 用户名。
示例:hadoop kerbname user@EXAMPLE.COM
kdiag
用法:hadoop kdiag
诊断 Kerberos 问题
key
用法:hadoop key <子命令> [选项]
COMMAND_OPTION
说明
create keyname [-cipher cipher] [-size size] [-description description] [-attr attribute=value] [-provider provider] [-strict] [-help]
在由 -provider 参数指定的提供程序中为 keyname 参数指定的名称创建新密钥。如果提供程序使用默认密码,-strict 标志将导致命令失败。您可以使用 -cipher 参数指定密码。当前的默认密码为 “AES/CTR/NoPadding”。默认密钥大小为 128。您可以使用 -size 参数指定请求的密钥长度。可以使用 -attr 参数指定任意 attribute=value 样式属性。-attr 可以多次指定,每个属性一次。
roll keyname [-provider provider] [-strict] [-help]
在使用 -provider 参数指示的提供程序中为指定密钥创建新版本。如果提供程序使用默认密码,-strict 标志将导致命令失败。
delete keyname [-provider provider] [-strict] [-f] [-help]
从由 -provider 指定的提供程序中删除 keyname 参数指定的密钥的所有版本。如果提供程序使用默认密码,-strict 标志将导致命令失败。除非指定 -f,否则该命令会要求用户确认。
list [-provider provider] [-strict] [-metadata] [-help]
显示 core-site.xml 中配置的或使用 -provider 参数指定的特定提供程序中包含的密钥名称。如果提供程序使用默认密码,-strict 标志将导致命令失败。-metadata 显示元数据。
check keyname [-provider provider] [-strict] [-help]
检查 core-site.xml 中配置的或使用 -provider 参数指定的特定提供程序中包含的 keyname 的密码。如果提供程序使用默认密码,-strict 标志将导致命令失败。
| -help | 打印此命令的用法 |
通过 KeyProvider 管理密钥。有关 KeyProvider 的详细信息,请参阅透明加密指南。
提供程序经常要求提供密码或其他密钥。如果提供程序需要密码但找不到密码,它将使用默认密码并发出警告消息,指出正在使用默认密码。如果提供了 -strict 标志,警告消息将变为错误消息,并且命令将立即返回错误状态。
注意:某些 KeyProvider(例如 org.apache.hadoop.crypto.key.JavaKeyStoreProvider)不支持大写密钥名称。
注意:某些 KeyProvider 不会直接执行密钥删除(例如,执行软删除或延迟实际删除,以防止错误)。在这些情况下,在删除密钥后,使用相同名称创建/删除密钥时可能会遇到错误。有关详细信息,请检查底层 KeyProvider。
kms
用法:hadoop kms
运行 KMS(密钥管理服务器)。
trace
查看和修改 Hadoop 跟踪设置。请参阅跟踪指南。
version
用法:hadoop version
打印版本。
CLASSNAME
用法:hadoop CLASSNAME
运行名为 CLASSNAME 的类。该类必须是某个包的一部分。
envvars
用法:hadoop envvars
显示已计算的 Hadoop 环境变量。