公众号后台回复“学习+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的客户端操作
往期回顾:





