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

HDFS客户端常见命令说明

操作场景

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

执行HDFS Shell命令

  1. 安装客户端,具体请参考使用MRS客户端章节。
  2. 以客户端安装用户,登录安装客户端的节点。
  3. 执行以下命令,切换到客户端安装目录。例如路径为“/opt/client”。

    cd /opt/client

  4. 执行以下命令配置环境变量。

    source bigdata_env

  5. 如果集群为安全模式,执行以下命令进行用户认证。普通模式集群无需执行用户认证。

    kinit 组件业务用户

  6. 执行如下命令查询HDFS命令的帮助。

    ./hdfs --help

常用客户端命令请参考表1表2

更多HDFS命令行参考请参见官网:http://hadoop.apache.org/docs/r3.1.1/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参数显示的是元数据。

表2 Colocation客户端Shell命令

操作

命令

描述

创建组

hdfs colocationadmin -createGroup -groupId

<groupID> -locatorIds <comma separated locatorIDs> or -file <path of the file contains all of locatorIDs>

创建组,groupID为组名,locatorID为locator名,locatorID可通过命令行输入,多个locatorID之间用逗号分隔;也可将locatorID写入文件,通过读文件获取。

删除组

hdfs colocationadmin -deleteGroup <groupID>

删除指定组。

查询组

hdfs colocationadmin -queryGroup <groupID>

查询指定组的详细信息,包括该group包含的locators以及每个locator及其对应的DataNode。

查看所有组

hdfs colocationadmin -listGroups

列出所有组及其创建时间。

设置colocation根目录的acl权限

hdfs colocationadmin -setAcl

设置ZooKeeper中colocation根目录的ACL权限。

colocation在ZooKeeper中的根目录默认为“/hadoop/colocationDetails”。