写点什么

HDFS SHELL 详解(2)

用户头像
罗小龙
关注
发布于: 2021 年 01 月 09 日
HDFS SHELL详解(2)

HDFS SHELL 总共有 39 条指令,本系列将逐步介绍每个指令的功能、选项含义及示例。

系列文章:

HDFS SHELL详解(1)

4.chgrp

执行方式:

hadoop fs -chgrp [-R] GROUP PATH
复制代码

功能描述:

更改文件/目录所属用户组

选项解释:

-R:更改目录及目录下所有文件的用户组

示例:

  • 把 hdfs://hdfstest/test.txt 的用户组从 supergroup 修改为 luorl

hadoop fs -chgrp luorl /hdfstest/test.txt


这里可能会有一个疑问,hadoop 的用户及用户组是从哪里来的,该如何设置,未来将编写独立的文章说明。


5.chmod

执行方式:

hadoop fs -chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH
复制代码

功能描述:

更改文件/目录用户权限

选项解释:

-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

执行方式:

hadoop fs -chown [-R] [OWNER][:[GROUP]] PATH
复制代码

功能描述:

更改文件/目录所属用户

选项解释:

-R:更改目录及目录下所有文件的用户

示例:

  • 更改 hdfs://hdfstest/test.txt 的用户为 root:supergroup

hadoop fs -chown root:supergroup /hdfstest/test.txt


7.copyFromLocal

执行方式:

hadoop fs -copyFromLocal [-f] [-p] [-l] [-d] [-t <thread count>] <localsrc> <dst>
复制代码

功能描述:

拷贝本地文件到 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

执行方式:

hadoop fs -copyToLocal [-f] [-p] [-ignoreCrc] [-crc] <src> <localdst>
复制代码

功能描述:

拷贝 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


发布于: 2021 年 01 月 09 日阅读数: 25
用户头像

罗小龙

关注

镜花水月 2020.08.18 加入

数据工作者,目前就职于商业银行数据部门,擅长数据架构、数据建模、数据开发及数据分析

评论

发布
暂无评论
HDFS SHELL详解(2)