一、了解HDFS常用Shell命令
1、三种Shell命令方式
命令 | 适用场合 |
---|---|
hadoop fs | 适用于任何不同的文件系统,比如本地文件系统和HDFS文件系统 |
hadoop dfs | 只能适用于HDFS文件系统 |
hdfs dfs | hdfs dfs跟hadoop dfs的命令作用一样,也只能适用于HDFS文件系统 |
2、常用HDFS的shell命令
序号 | 命令 | 命令 |
---|---|---|
1 | hdfs dfs -ls
|
显示
|
2 | hdfs dfs -ls -R
|
ls命令的递归版本。 |
3 | hdfs dfs -cat
|
指定文件的内容输出到标准输出。 |
4 | hdfs dfs chgrp [-R] group
|
将
|
5 | hdfs dfs -chown [-R] [owner][:[group]]
|
改变
|
6 | hdfs dfs -chmod [-R]
|
将
|
7 | hdfs dfs -tail [-f]
|
指定文件最后1KB的内容输出到标准输出上,-f选项用于持续检测新添加到文件中的内容。 |
8 | hdfs dfs -stat [format]
|
以指定格式返回
|
9 | hdfs dfs -touchz
|
创建一个
|
10 | hdfs dfs -mkdir [-p] | 创建指定的一个或多个目录,-p选项用于递归创建子目录。 |
11 | hdfs dfs -copyFromLocal | 将本地源文件复制到路径指定的文件或目录中。 |
12 | hadoo fs -copyToLocal [-ignorcrc] [-crc] | 将目标文件复制到本地文件或目录中,可用-ignorecrc选项复制CRC校验失败的文件,使用-crc选项复制文件以及CRC信息。 |
13 | hdfs dfs -cp | 将文件从源路径复制到目标路径。 |
14 | hdfs dfs -du
|
显示
|
15 | hdfs dfs -expunge | 清空回收站。 |
16 | hdfs dfs -get [-ignorcrc] [-crc] | 复制指定的文件到本地文件系统指定的文件或目录内,可用-ignorecrc选项复制CRC校验失败的文件,使用-crc选项复制文件以及CRC信息。 |
17 | hdfs dfs -getmerge [-nl] 对 | 指定目录内所有文件进行合并,写入指定的本地文件。-nl是可选的,用于指定在每个文件结尾添加一个换行符。 |
18 | hdfs dfs -put | 从本地文件系统中复制指定的单个或多个源文件到指定的目标文件系统中。 |
19 | hdfs dfs moveFromLocal | 与put命令功能相同,但是文件上传结束后会从本地文件系统中删除指定的文件。 |
20 | hdfs dfs -mv | 将文件或目录从源路径移到目标路径。 |
21 | hdfs dfs -rm
|
删除
|
22 | hdfs dfs -rm -r
|
删除
|
23 | hdfs dfs -setrep [-R]
|
改变
|
24 | hdfs dfs -test [-ezd]
|
检查
|
25 | hdfs dfs -text
|
指定的文件输出为文本格式,文件格式允许是zip和TextRecordInputStream。 |
二、HDFS常用命令操作实战
启动Hadoop集群
1、创建目录
(1)创建单层目录
执行命令:hdfs dfs -mkdir /ied
利用Hadoop WebUI查看创建的目录
(2)创建多层目录
执行命令:hdfs dfs -mkdir /luzhou/lzy,会报错,因为/luzhou目录不存在
执行命令:hdfs dfs -mkdir -p /luzhou/lzy
利用Hadoop WebUI查看创建的多层目录
2、查看目录
执行命令:hdfs dfs -ls /,查看根目录
执行命令:hdfs dfs -ls /luzhou
执行命令:hdfs dfs -ls -R /,递归查看/目录(采用递归算法遍历树结构)
3、上传本地文件到HDFS
创建test.txt文件,执行命令:echo “hell