文章目录
1. 前言
关于如何写HDFS篇,我想了一晚上,也看过不少关于HDFS的书和文章,大都是从概念到原理,然后到常用命令以及JAVA API操作。但是总感觉概念和原理对于小白来说门槛较高,所以在这里决定先写操作部分后写概念原理部分。
2. Hadoop中HDFS的常用命令
2.1 dfsadmin命令
查看集群存储空间的使用情况,HDFS的基本统计信息。
命令格式:
hadoop dfsadmin -report [-live] [-dead] [-decommissioning]
效果截图:
2.2 启动关闭HDFS命令
命令格式:
start-dfs.sh
stop-dfs.sh
2.3 fs命令
Hadoop后跟fs参数是表示对HDFS中的文件进行操作
为了方便讲解fs命令,首先在本地创建了wordcount.txt文件,文件内容如下:
下面我们将基于该文件,来熟悉HDFS的具体操作。
2.3.1 fs -mkdir 命令
-mkdir 命令用于创建目录结构、
命令格式:
hadoop fs -mkdir 文件夹名 【一级目录】
hadoop fs -mkdir -p 文件目录结构 【多级目录】
测试命令: hadoop fs -mkdir -p /test/input
效果截图:
2.3.2 fs -put 命令
-put命令用于上传文件,文件会首先复制到DataNode上,当所有DataNode都成功接受完数据,文件才算是上传成功。
命令格式:
hadoop fs -put test1 test2
测试命令:hadoop fs -put wordcount.txt /test/input/wordcount.txt
效果截图:
2.3.3 fs -ls 命令
发现上面已经用到了,主要用于列出HDFS上的文件,还可以用于显示文件的详细内容,包括:权限、用户、所在组、大小、日期、路径等信息
命令格式:
hadoop fs -ls <hdfs:pathDirectory>
测试命令: hadoop fs -ls /test/input/wordcount.txt
效果截图:
2.3.3(补充) fs -lsr 命令
lsr命令是ls -R命令的简写,可以递归显示HDFS中指定目录下的所有子文件。
命令格式:
hadoop fs -lsr /test
效果截图:
2.3.4 fs -cat 命令
-cat 文件名可以查看HDFS目录下某个文件的具体内容
命令格式:
hadoop fs -cat /test/input/wordcount.txt
效果截图:
2.3.5 fs -get 命令
-get命令与-put命令相反,可以将HDFS中的某目录下的文件复制到本地系统中的某一个文件中,同时可以重命名。
命令格式:
hadoop fs -get /test/input/wordcount.txt WordCount.txt
效果截图:
2.3.6 fs -cp 命令
-cp 命令可以将HDFS中的指定文件复制到HDFS中的目标路径,而且支持多个源文件。
命令格式:
hadoop fs -cp <hdfs:pathFile> <hdfs:pathDirectory>
测试命令:hadoop fs -cp /test/input/wordcount.txt /test
效果截图:
2.3.7 fs -mv 命令
-mv命令可以在HDFS中将文件从源路径移动到目标路径,同样可支持多源路径。
命令格式:
hadoop fs -mv /test/input/ /
效果截图:
2.3.8 fs -rm 命令
-rm命令用于删除一个指定的文件或多个文件
命令格式:
hadoop fs -rm /test/wordcount.txt
效果截图:
2.3.9 fs -rmr命令
-rmr命令可以删除目录或递归删除子文件,如果使用-rmr命令删除一个目录时,不管目录下是否有其他文件,均将一并删除。
命令格式:
hadoop fs -rmr /input
效果截图:
3. 小结以及下篇目标
综上,HDFS的常用命令已经基本涵盖。
下期目标:
- 教大家如何通过使用IDEA连接Hadoop集群。
- HDFS中关于文件操作的类介绍
- 如何通过JAVA API来访问HDFS(通过简单实例)
溜了,溜了,恰饭去。。。