文章目录
- Hadoop常用命令
- 1、实验描述
- 2、实验环境
- 3、相关技能
- 4、知识点
- 5、实验步骤
- 6、总结
- 练习提高
Hadoop常用命令
1、实验描述
熟悉HDFS的命令行接口
2、实验环境
虚拟机数量:3
系统版本:Centos 7.5
Hadoop版本:Apache Hadoop 2.7.3
3、相关技能
熟悉Linux操作系统,Hadoop原理
HDFS命令行接口
4、知识点
HDFS命令行接口
5、实验步骤
5.1 进入虚拟机并启动Hadoop集群
5.1.1 在master启动Hadoop集群
[zkpk@master ~]$ start-all.sh
5.1.2 在master,slave01和slave02分别运行jps,确认NameNode, SecondaryNameNode, ResourceManager进程启动
5.2 练习hdfs命令行接口
5.2.1 列出目录及文件命令
【注】hadoop fs –ls为固定的命令,-ls用来指定咱们要列出文件,path参数指定需要列出列表的父路径。path取值如果在前边加上/的话是从HDFS的根目录下开始列,否则从HDFS上的用户目录/user/username/开始列。
[zkpk@master ~]$ hadoop fs -ls <path>
5.2.2 递归列出目录及文件
【注】hadoop fs –ls -R为固定的命令,-ls -R用来指定咱们要递归查看的文件,path参数指定需要列出列表的父路径 。
[zkpk@master ~]$ hadoop fs -ls -R <path>
5.2.3 创建目录
【注】hadoop fs –mkdir为固定的命令,–mkdir用来指定创建的文件目录命令,path参数指定创建目录路径,注意,不能创建级联目录。
[zkpk@master ~]$ hadoop fs -mkdir <path>
5.2.4 上传文件,有两种方式
【注】hadoop fs -put/-copyFromLocal 为固定的命令,src参数指定上传文件及其本地路径,des参数指定文件上传到HDFS的路径
[zkpk@master ~]$ hadoop fs -put <src> <des>
[zkpk@master ~]$ hadoop fs -copyFromLocal <src> <des>
5.2.5 从hdfs上传下载文件
【注】hadoop fs -get/-copyToLocal ;des为HDFS上的文件的绝对路径,src为本地要把下载的文件存放的位置
[zkpk@master ~]$ hadoop fs -get <des> <src>
[zkpk@master ~]$ hadoop fs -copyToLocal <des> <src>
5.2.6 删除HDFS上的文件
【注】hadoop fs –rm \ ;rm命令后边必须跟要查看的文件的路径,路径必须存在,否则报错。如果需要递归删除某个文件夹下所有的文件夹和目录,使用rmr命令就可以了。
[zkpk@master ~]$ hadoop fs -rm <path>
[zkpk@master ~]$ hadoop fs -rmr <path>
6、总结
HDFS虽然是Hadoop的一个组件,但同时HDFS本身也是独立的,并不依赖与MapReduce运行环境,可以作为一个独立的分布式文件系统来使用。我们可以同过HDFS的命令行接口进一步认识HDFS。
练习提高
(1) 列出某个目录下的文件
hadoop fs -ls /
(2) 递归列出某目录及文件
hadoop fs -ls -R /
(3) 创建目录,目录名自拟,查看创建的目录及文件
hadoop fs -mkdir /wjw
hadoop fs -ls -R /
(4) 创建级联目录,递归查看
hadoop fs -mkdir -p /wjw01/wjw02
hadoop fs -ls -R /wjw01
(5) 在本地新建一个文件,文件名和文件内容自拟,然后分别使用-put命令和-copyFromLocal 命令将该文件上传到HDFS
mkdir wjw03
hadoop fs -put wjw03 /
mkdir wjw04
hadoop fs -copyFromLocal wjw04 /
hadoop fs -ls /
(6) 分别使用命令-get和-copyToLocal从HDFS上传下载某个文件,
hadoop fs -get /wjw03 /home/zkpk
hadoop fs -copyToLoacl /wjw04 /home/zkpk
ls /home/zkpk
(7) 删除HDFS上某个文件
hadoop fs -rmr /wjw04
hadoop fs -ls /
(8) 递归删除某个文件夹下所有文件和目录
hadoop fs -rmr /wjw01
hadoop fs -ls /
(9) 查看HDFS上某个文件内容
vim write.txt
hadoop fs -put write.txt /
hadoop fs -cat /write.txt
(10) 统计HDFS上某个文件的大小
hadoop fs -du /write.txt