HDFS SHELL 详解(2)
HDFS SHELL 总共有 39 条指令,本系列将逐步介绍每个指令的功能、选项含义及示例。
系列文章:
4.chgrp
执行方式:
功能描述:
更改文件/目录所属用户组
选项解释:
-R:更改目录及目录下所有文件的用户组
示例:
把 hdfs://hdfstest/test.txt 的用户组从 supergroup 修改为 luorl
hadoop fs -chgrp luorl /hdfstest/test.txt
这里可能会有一个疑问,hadoop 的用户及用户组是从哪里来的,该如何设置,未来将编写独立的文章说明。
5.chmod
执行方式:
功能描述:
更改文件/目录用户权限
选项解释:
-R:更改目录及目录下所有文件的权限
MODE:格式为“用户+操作+权限”
角色有 4 种,分别为:
u:文件拥有者
g:与文件拥有者同属的用户组
o:除了 u/g 以外的其他人
a:所有人,不指定角色时默认为 a
操作有 3 种,分别为:
+:增加权限
-:删除权限
=:取消权限
权限有 3 种,分别为:
r:读取权限
w:写入权限
x:执行权限
比如 u+rwx,代表文件拥有者增加读取、写入、执行权限;o-x,除文件拥有者及文件拥有者同组用户外的用户删除执行权限;ug+r,文件拥有者及文件拥有者同组用户增加读取权限
OCTALMODE:使用 3 个八进制数配置 ugo 权限,每个八进制数代表一个对象的 rwx 设置
示例:
对 hdfs://hdfstest/test.txt 的文件拥有者添加读取、写入、执行权限,对文件拥有者同组用户添加读取、写入权限,对其他用户添加读取权限
hadoop fs -chmod u+rwx,g+rw,o+r /hdfstest/test.txt
hadoop fs -chmod 754 /hdfstest/test.txt
6.chown
执行方式:
功能描述:
更改文件/目录所属用户
选项解释:
-R:更改目录及目录下所有文件的用户
示例:
更改 hdfs://hdfstest/test.txt 的用户为 root:supergroup
hadoop fs -chown root:supergroup /hdfstest/test.txt
7.copyFromLocal
执行方式:
功能描述:
拷贝本地文件到 HDFS
选项解释:
-f:若文件已存在,则覆盖文件
-p:保留源文件的创建时间、修改时间、所属用户及用户组
-l:允许 datanode 延迟保存文件副本到磁盘,让副本数保持为 1
-d:跳过创建._COPYING_的临时文件
-t:开启多线程上传
示例:
本地文件 test.txt 覆盖/hdfstest/test.txt
hadoop fs -copyFromLocal -f test.txt /hdfstest/test.txt
拷贝本地文件 test1.txt 到/hdfstest/,并保留源文件信息
hadoop fs -copyFromLocal -p test1.txt /hdfstest/
开启 4 线程拷贝本地文件 test2.txt 到/hdfstest/
hadoop fs -copyFromLocal -t 4 test2.txt /hdfstest/
8.copyToLocal
执行方式:
功能描述:
拷贝 HDFS 文件到本地
选项解释:
-f:若文件已存在,则覆盖文件
-p:保留源文件的创建时间、修改时间、所属用户及用户组
-ignoreCrc:强制下载校验失败的文件
-crc:下载校验通过的文件及对应 CRC 文件
示例:
/hdfstest/test.txt 覆盖本地文件 test.txt
hadoop fs -copyToLocal -f /hdfstest/test.txt test.txt
拷贝/hdfstest/in_test.txt 并保留源文件信息
hadoop fs -copyToLocal -p /hdfstest/in_test.txt /root
版权声明: 本文为 InfoQ 作者【罗小龙】的原创文章。
原文链接:【http://xie.infoq.cn/article/f504d1e60a3cf5d1025d61ce6】。文章转载请联系作者。
评论