更新时间:2024-08-03 GMT+08:00

HDFS Shell命令介绍

HDFS Shell

您可以使用HDFS Shell命令对HDFS文件系统进行操作,例如读文件、写文件等操作。

执行HDFS Shell的方法:

  1. 初始化环境变量。

    source /opt/client/bigdata_env

  2. 如果当前集群已启用Kerberos认证,执行以下命令认证当前用户。如果当前集群未启用Kerberos认证,则无需执行此命令。当前用户为准备HDFS应用开发用户时增加的开发用户。

    人机用户:kinit MRS集群用户

    例如:kinit hdfsuser

    机机用户:kinit -kt 认证凭据路径 MRS集群用户

    例如:kinit -kt /opt/user.keytab hdfsuser

  3. 执行HDFS SHELL命令。

    HDFS SHELL 操作格式:hadoop fs <args>

    直接输入命令即可。例如:

    • 查看对应目录下内容 hadoop fs -ls /tmp/input/
    • 创建目录 hadoop fs -mkdir /tmp/input/new_dir
    • 查看文件内容 hadoop fs -cat /tmp/input/file1
    • 清除文件 hadoop fs -rm -r /tmp/input/file1
    • 执行如下命令查询HDFS命令的帮助hadoop fs --help

    HDFS命令行参考请参见官网:

    https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/FileSystemShell.html

表1 透明加密相关命令

场景

操作

命令

描述

hadoop shell命令管理密钥

创建密钥

hadoop key create <keyname> [-cipher <cipher>] [-size <size>] [-description <description>] [-attr <attribute=value>] [-provider <provider>] [-help]

create子命令为provider中<keyname>参数指定的name创建一个新的密钥,provider是由-provider参数指定。用户可以使用参数-cipher定义一个密码。目前默认的密码为"AES/CTR/NoPadding"。

默认密钥的长度为128。用户可以使用参数-size定义需要的密钥的长度。任意的attribute=value类型属性可以用参数-attr定义。每一个属性,-attr可以被定义很多次。

回滚操作

hadoop key roll <keyname> [-provider <provider>] [-help]

roll子命令为provider中指定的key创建一个新的版本,provider是由-provider参数指定。

删除密钥

hadoop key delete <keyname> [-provider <provider>] [-f] [-help]

delete子命令删除key的所有版本,key是由provider中的<keyname>参数指定,provider是由-provider参数指定。除非-f被指定否则该命令需要用户确认。

查看密钥

hadoop key list [-provider <provider>] [-metadata] [-help]

list子命令显示provider中所有的密钥名,这个provider由用户在core-site.xml中配置或者由-provider参数指定。-metadata参数显示的是元数据。