最码农 最码农
  • 首页
  • 动态广场
  • 精选栏目
  • 闲言碎语
  • 左邻右里
  • 笔记屋
  • 注册
  • 登录
首页 › 大数据 › HDFS 的 Shell 操作

HDFS 的 Shell 操作

Cosy
11月前大数据阅读 409

基本语法

  • hadoop fs 具体命令
  • OR hdfs dfs 具体命令

两个是完全相同的。

命令大全


[hadoop@hadoop102 hadoop-3.1.3]$ bin/hadoop fs

 [-appendToFile <localsrc> ... <dst>]
 [-cat [-ignoreCrc] <src> ...]
 [-checksum <src> ...]
 [-chgrp [-R] GROUP PATH...]
 [-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
 [-chown [-R] [OWNER][:[GROUP]] PATH...]
 [-copyFromLocal [-f] [-p] <localsrc> ... <dst>]
 [-copyToLocal [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
 [-count [-q] <path> ...]
 [-cp [-f] [-p] <src> ... <dst>]
 [-createSnapshot <snapshotDir> [<snapshotName>]]
 [-deleteSnapshot <snapshotDir> <snapshotName>]
 [-df [-h] [<path> ...]]
 [-du [-s] [-h] <path> ...]
 [-expunge]
 [-get [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
 [-getfacl [-R] <path>]
 [-getmerge [-nl] <src> <localdst>]
 [-help [cmd ...]]
 [-ls [-d] [-h] [-R] [<path> ...]]
 [-mkdir [-p] <path> ...]
 [-moveFromLocal <localsrc> ... <dst>]
 [-moveToLocal <src> <localdst>]
 [-mv <src> ... <dst>]
 [-put [-f] [-p] <localsrc> ... <dst>]
 [-renameSnapshot <snapshotDir> <oldName> <newName>]
 [-rm [-f] [-r|-R] [-skipTrash] <src> ...]
 [-rmdir [--ignore-fail-on-non-empty] <dir> ...]
 [-setfacl [-R] [{-b|-k} {-m|-x <acl_spec>} <path>]|[--set <acl_spec> <path>]]
 [-setrep [-R] [-w] <rep> <path> ...]
 [-stat [format] <path> ...]
 [-tail [-f] <file>]
 [-test -[defsz] <path>]
 [-text [-ignoreCrc] <src> ...]
 [-touchz <path> ...]
 [-usage [cmd ...]]

常用命令实操

准备工作

1)启动 Hadoop 集群(方便后续的测试)


[hadoop@hadoop102 hadoop-3.1.3]$ sbin/start-dfs.sh
[hadoop@hadoop103 hadoop-3.1.3]$ sbin/start-yarn.sh

2)-help:输出这个命令参数


[hadoop@hadoop102 hadoop-3.1.3]$ hadoop fs -help rm

上传

1)-moveFromLocal:从本地剪切粘贴到 HDFS


[hadoop@hadoop102 hadoop-3.1.3]$ touch kongming.txt
[hadoop@hadoop102 hadoop-3.1.3]$ hadoop fs -moveFromLocal ./kongming.txt /sanguo/shuguo

2)-copyFromLocal:从本地文件系统中拷贝文件到 HDFS 路径去


[hadoop@hadoop102 hadoop-3.1.3]$ hadoop fs -copyFromLocal README.txt /

3)-appendToFile:追加一个文件到已经存在的文件末尾


[hadoop@hadoop102 hadoop-3.1.3]$ touch liubei.txt
[hadoop@hadoop102 hadoop-3.1.3]$ vi liubei.txt

输入
san gu mao lu

[hadoop@hadoop102 hadoop-3.1.3]$ hadoop fs -appendToFile liubei.txt /sanguo/shuguo/kongming.txt

4)-put:等同于 copyFromLocal


[hadoop@hadoop102 hadoop-3.1.3]$ hadoop fs -put ./liubei.txt /user/atguigu/test/

下载

1)-copyToLocal:从 HDFS 拷贝到本地


[hadoop@hadoop102 hadoop-3.1.3]$ hadoop fs -copyToLocal /sanguo/shuguo/kongming.txt ./

2)-get:等同于 copyToLocal,就是从 HDFS 下载文件到本地


[hadoop@hadoop102 hadoop-3.1.3]$ hadoop fs -get /sanguo/shuguo/kongming.txt ./

3)-getmerge:合并下载多个文件,比如 HDFS 的目录 /user/hadoop/test 下有多个文件:log.1,log.2,log.3,…


[hadoop@hadoop102 hadoop-3.1.3]$ hadoop fs -getmerge /user/hadoop/test/* ./zaiyiqi.txt

HDFS 直接操作

1)-ls: 显示目录信息


[hadoop@hadoop102 hadoop-3.1.3]$ hadoop fs -ls /

2)-mkdir:在 HDFS 上创建目录


[hadoop@hadoop102 hadoop-3.1.3]$ hadoop fs -mkdir -p /sanguo/shuguo

3)-cat:显示文件内容


[hadoop@hadoop102 hadoop-3.1.3]$ hadoop fs -cat /sanguo/shuguo/kongming.txt

4)-chgrp 、-chmod、-chown:Linux 文件系统中的用法一样,修改文件所属权限


[hadoop@hadoop102 hadoop-3.1.3]$ hadoop fs -chmod 666 /sanguo/shuguo/kongming.txt
[hadoop@hadoop102 hadoop-3.1.3]$ hadoop fs -chown hadoop:hadoop /sanguo/shuguo/kongming.txt

5)-cp :从 HDFS 的一个路径拷贝到 HDFS 的另一个路径


[hadoop@hadoop102 hadoop-3.1.3]$ hadoop fs -cp /sanguo/shuguo/kongming.txt /zhuge.txt

6)-mv:在 HDFS 目录中移动文件


[hadoop@hadoop102 hadoop-3.1.3]$ hadoop fs -mv /zhuge.txt /sanguo/shuguo/

7)-tail:显示一个文件的末尾 1kb 的数据


[hadoop@hadoop102 hadoop-3.1.3]$ hadoop fs -tail /sanguo/shuguo/kongming.txt

8)-rm:删除文件或文件夹


[hadoop@hadoop102 hadoop-3.1.3]$ hadoop fs -rm /user/hadoop/test/jinlian2.txt

9)-rmdir:删除空目录


[hadoop@hadoop102 hadoop-3.1.3]$ hadoop fs -mkdir /test
[hadoop@hadoop102 hadoop-3.1.3]$ hadoop fs -rmdir /test

10)-du 统计文件夹的大小信息


[hadoop@hadoop102 hadoop-3.1.3]$ hadoop fs -du -s -h /user/hadoop/test
2.7 K /user/hadoop/test

[hadoop@hadoop102 hadoop-3.1.3]$ hadoop fs -du -h /user/hadoop/test
1.3 K /user/hadoop/test/README.txt
15 /user/hadoop/test/jinlian.txt
1.4 K /user/hadoop/test/zaiyiqi.txt

11)-setrep:设置 HDFS 中文件的副本数量


[hadoop @hadoop102 hadoop-3.1.3]$ hadoop fs -setrep 10 /sanguo/shuguo/kongming.txt

这里设置的副本数只是记录在 NameNode 的元数据中,是否真的会有这么多副本,还得看 DataNode 的数量。因为目前只有 3 台设备,最多也就 3 个副本,只有节点数的增加到 10台时,副本数才能达到 10。

HDFS 教程
赞赏 赞(0) 收藏(0)
HDFS 概述
上一篇
HDFS 客户端操作
下一篇
再想想
暂无评论
随 机 推 荐
基于Layui的兽音译者加密页面
Hadoop 小文件优化方法
Hadoop2.x 和 Hadoop3.x 的新特性
MapReduce框架原理-InputFormat数据输入
Hadoop概论(一)—— 开篇词
Hadoop HDFS(二)
Hadoop HA 高可用
Hadoop 数据压缩
  • 0
  • 0
介绍

我们致力于打造一个原创的计算机相关技术的博客网站,旨在为访客提供一个优质的计算机技术教程交流平台。网站开辟了很多于计算机相关的栏目,并且收集了不少实用资源,同时也鼓励欢迎访客一起分享、交流、学习。

灵魂推荐
Veer图库 数码荔枝
栏目标题
首页 动态广场 精选栏目 闲言碎语 左邻右里 笔记屋
Copyright © 2021-2023 最码农. 苏ICP备20033168号
  • 首页
  • 动态广场
  • 精选栏目
  • 闲言碎语
  • 左邻右里
  • 笔记屋
# 教程 # # Hadoop # # HDFS # # 人工智能 # # 算法 #
Cosy
即使世界毁灭,也总有回光返照的那一刻
90
文章
3
评论
425
喜欢