第三章 shell命令操作HDFS-常用HDFS操作命令


操作命令

常用的HDFS操作命令(hdfs dfs)

首先开启hdfs:

1
2
3
4
5
start-dfs.sh/start-all.sh

除了start-all.sh和stop-all.sh,还有其他命令可以启动和停止Hadoop。例如,可以使用start-dfs.sh和stop-dfs.sh来分别启动和停止HDFS守护进程,包括NameNode、SecondaryNameNode和DataNode³。另外,还可以使用start-yarn.sh和stop-yarn.sh来分别启动和停止ResourceManager和NodeManager³。

此外,还可以使用hadoop-daemon.sh和yarn-daemon.sh来单独启动或停止特定的守护进程²³。

用法查看:

hdfs dfs

1
与hadoop fs等价的

创建目录(-p 表示会创建父目录)

hdfs dfs -mkdir /001

hdfs dfs -mkdir /001/demo1 /001/demo2 /001/demo3 一次创建多个目录

hdfs dfs -mkdir -p /001/x/y 一次性创建多层目录

1
hdfs dfs -mkdir xxx  //这样不指定路径,会另创建/user/root目录,再在下面创建xxx目录

列出子目录或子文件

1
2
3
4
5
6
hdfs dfs -ls [-d][-h][-R] <paths>
// -d 返回 path; -h 人性化显示

hdfs dfs -ls [path]

hdfs dfs -ls -R [path] 递归形式显示

上传文件

将本地目录下的文件上传到HDFS上,并分别重命名

1
2
3
hdfs dfs -put [-f] [-p] <localsrc> <dst>

hdfs dfs -copyFromLocal [-f] [-p] [-l] <localsrc> <dst>

hdfs dfs -put 本地文件名 hdfs路径

hdfs dfs -copyFromLocal 本地文件名 hdfs路径

例: hdfs dfs -put text1.txt /001/demo1/hdfs1.txt

例: hdfs dfs -copyFromLocal text1.txt /001/demo1/hdfs1.txt

将本地文件移动到HDFS

hdfs dfs -moveFromLocal 本地文件名 HDFS路径

下载文件到本地

1
2
3
hdfs dfs -get [-p] <src> <localdst>

hdfs dfs -copyToLocal [-p] [-ignoreCrc] [-crc] <src> <localdst>

hdfs dfs copyToLocal hdfs文件 本地path

hdfs dfs -get hdfs文件 本地路径

查看文件

1
2
3
4
5
6
7
8
命令: hdfs dfs -cat/text[-ignoreCrc] <src>

hdfs dfs -tail [-f]<file>
-ignoreCrc:忽略循环检验失败的文件。
-f:动态更新显示数据

hdfs dfs -cat hdfs路径
hdfs dfs -text hdfs路径

删除目录或文件

1
2
3
4
5
6
命令: hdfs dfs -rm [-f] [-r] <src>
-f:如果要删除的文件不存在,不显示错误信息。
-r/R:级联删除目录下所有的文件和子目录文件

参数r为递归删除
hdfs dfs -rm -r hdfs文件

追写文件

1
2
命令: hdfs dfs -appendToFile <localsrc> <dst>
该命令将 localsrc 指向的本地文件内容写入目标文件 dst。如果 localsrc 是“-”,表示数据来自键盘输入, “Ctrc+c”组合键结束输入

复制文件或文件夹

1
2
3
命令: hdfs dfs -cp [-f] [-p | -p[topax]] <src> <dst>
-f:如果目标文件存在,将强行覆盖。
-p:将保存文件的属性

hdfs dfs -cp hdfs文件/文件夹 hdfs文件名/hdfs文件夹

文件或文件夹的移动

hdfs dfs -mv hdfs文件 hdfs路径/文件名

使用touchz命令创建文件

hdfs dfs -touchz 文件

查看文件大小

1
2
3
4
命令: hdfs dfs -du [-s] [-h] <path>
按字节显示指定目录所占空间大小。
-s:显示指定目录下文件总的大小。
-h: h 指“human-readble”,表示按照人性化的单位显示文件大小

hdfs dfs -du hdfs文件

count统计(显示:目录个数,文件个数,文件总计大小)

1
2
命令: hdfs dfs -count [-q] [-h] <path>
统计某个目录下的子目录与文件的个数及文件大小。统计的结果包含目录数、文件数、文件大小、路径

hdfs dfs -count hdfs文件夹

获取扩展属性,设置扩展属性

hdfs dfs -setfattr -n user.from -v http://www.baidu.com hdfs文件

setfattr详解

hdfs dfs -getfattr -d hdfs文件

YvHNOx.png

文件合并再下载

将路径中的文件合并并命名下载

hdfs dfs -getmerge 文件夹 文件名

追加数据文件末尾的指令

hdfs dfs -appendToFile 本地文件 hdfs文件

打印Block报告

hdfs fsck /user/hadoop/hadoop-2.7.3.tar.gz -files -blocks

打印文件块的位置信息(-locations)

hdfs fsck /user/hadoop/hadoop-2.7.3.tar.gz -files -blocks -locations

GJf7in.png


过去的别再遗憾

多少都是爱
0%