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

HDFS Shell命令介绍

HDFS Shell

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

执行HDFS Shell的方法:

进入HDFS客户端如下目录,直接输入命令即可。例如:

cd /opt/client/HDFS/hadoop/bin

./hdfs dfs -mkdir /tmp/input

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

./hdfs --help

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。