暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

HDFS常用命令

ITwords 2021-08-26
1649


公众号后台回复“学习+JavaSE”,即可免费获得学习资料


前言:本公众号将推出系列性的知识分享,以专题或者模块的方式,向读者分享学习体会和心得。所以想要学习的朋友可以点击关注,一起学习。


昨天对HDFS做了一个基本的了解,今天主要是在此基础上,学一些操作命令,也是作为HDFS的初学者必须要掌握的知识。


基本语法

bin/hadoop fs 具体命令   OR  bin/hdfs dfs 具体命令

dfs是fs的实现类

常用命令

(0)启动hadoop集群

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

(1)-help:输入命令的参数

 [bing@node3 hadoop-2.7.1]$ hadoop fs -help rm

(2)-ls:显示目录信息

 [bing@node3 hadoop-2.7.1]$ hadoop fs -ls 

(3)-mkdir:在HDFS上创建目录

 [bing@node3 hadoop-2.7.1]$hadoop fs -mkdir -p aaa/bbb

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

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

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

 [atguigu@hadoop102 hadoop-2.7.2]$ touch liubei.txt
 [atguigu@hadoop102 hadoop-2.7.2]$ vi liubei.txt
 输入
 san gu mao lu
 [atguigu@hadoop102 hadoop-2.7.2]$ hadoop fs -appendToFile liubei.txt sanguo/shuguo/kongming.txt

(6)-cat:显示文件内容

 [bing@node3 wcinput]$ hdfs dfs -cat user/bingx/liubei.txt
 我是刘备
 我是诸葛亮

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

 [bing@node3 wcinput]$ hdfs dfs -chown -R  bing:bing user
 [bing@node3 wcinput]$ hdfs dfs -chmod 666 user/bingx/liubei.txt

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

 [bing@node3 wcinput]$ hdfs dfs -copyFromLocal READMW.txt user/bingx/
 [bing@node3 wcinput]$ hdfs dfs -ls user/bingx/
 Found 4 items
 -rw-r--r--   3 bing bing         0 2019-08-14 11:30 user/bingx/READMW.txt
 -rw-rw-rw-   3 bing bing         29 2019-08-14 11:20 user/bingx/liubei.txt
 -rw-r--r--   3 bing bing         54 2019-08-13 13:49 user/bingx/part-r-00000
 -rw-r--r--   3 bing bing         60 2019-08-14 11:13 user/bingx/wc.input

(9)-copyToLocal:从HDFS拷贝到本地

 [bing@node3 wcinput]$ hdfs dfs -copyToLocal user/bingx/readme.txt ./
 19/08/14 11:33:51 WARN hdfs.DFSClient: DFSInputStream has been closed already
 [bing@node3 wcinput]$ ls
 kongming.txt liubei.txt readme.txt

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

 [bing@node3 wcinput]$ hdfs dfs -cp user/bingx/wc.input user/xbing/

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

 [bing@node3 wcinput]$ hdfs dfs -mv user/bingx/liubei.txt user/xbing/

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

 [bing@node3 wcinput]$ hdfs dfs -get user/xbing/liubei.txt ./
 19/08/14 11:42:06 WARN hdfs.DFSClient: DFSInputStream has been closed already
 [bing@node3 wcinput]$ ls
 kongming.txt liubei.txt readme.txt
 [bing@node3 wcinput]$ cat liubei.txt
 我是刘备
 我是诸葛亮

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

 [bing@node3 wcinput]$ hdfs dfs -getmerge user/xbing/* ./test.txt
 [bing@node3 wcinput]$ ls
 kongming.txt liubei.txt readme.txt test.txt
 [bing@node3 wcinput]$ cat test.txt
 我是刘备
 我是诸葛亮
 lxb lxj
 ali ali
 tencun
 meit meut
 asd asd asd
 lxb didi
 lxb

(14)-put:等同于copyFromLocal

 [bing@node3 wcinput]$ hdfs dfs -put /user/bingx/ aa.txt

(15)-tail:显示一个文件的末尾

 [bing@node3 wcinput]$ hdfs dfs -tail /user/xbing/liubei.txt
 我是刘备
 我是诸葛亮

(16)-rm:删除文件或文件夹

 [bing@node3 wcinput]$ hdfs dfs -rm /user/bingx/part-r-00000

(17)-rmdir:删除空目录

 [bing@node3 wcinput]$ hdfs dfs -rmdir /bing
 [bing@node3 wcinput]$ hdfs dfs -ls /
 Found 1 items
 drwxr-xr-x   - bing bing         0 2019-08-14 11:38 /user

(18)-du统计文件夹的大小信息(-s:统计整个文件夹的大小)

 [bing@node3 wcinput]$ hdfs dfs -du -s -h /user/bingx
 60 /user/bingx
 [bing@node3 wcinput]$ hdfs dfs -du -h /user/bingx
 0   /user/bingx/readme.txt
 60 /user/bingx/wc.input
 [bing@node3 wcinput]$

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

 [bing@node3 wcinput]$ hdfs dfs -setrep 10 /user/xbing/liubei.txt
 Replication 10 set: /user/xbing/liubei.txt

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


命令这部分同学们要亲自动手实践,没有什么比“多敲”更好的技巧了。


喜欢的同学可以点击“在看”,并且关注ITwords微信公众号,第一时间获取更新内容。您的转发和点赞将是我原创的动力,感谢您的支持。

尾言:下一篇HDFS的客户端操作


往期回顾:

HDFS的入门介绍

文章转载自ITwords,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论