HDFS常用命令

简介: HDFS常用命令

命令格式:

#不建议使用 ,这是1.X架构的命令格式
hdfs fs <args> (不建议使用)
#建议使用,这是2.X架构的命令格式 同时兼容1.X
 hdfs dfs <args>

命令参数

所有FS shell命令都将路径URI作为参数。URI格式为scheme://authority/path。对于HDFS,该scheme是hdfs,对于本地FS,该scheme是file。scheme和authority是可选的。如果未指定,则使用配置中指定的默认方案。

选项名称 使用格式 含义
-ls -ls <路径> 查看指定路径的当前目录结构
-lsr -lsr <路径> 递归查看指定路径的目录结构
-du -du <路径> 统计目录下个文件大小
-dus -dus <路径> 汇总统计目录下文件(夹)大小
-count -count [-q] <路径> 统计文件(夹)数量
-mv -mv <源路径> <目的路径> 移动
-cp -cp <源路径> <目的路径> 复制
-rm -rm [-skipTrash] <路径> 删除文件/空白文件夹
-rmr -rmr [-skipTrash] <路径> 递归删除
-put -put <多个linux上的文件> <hdfs路径> 上传文件
-copyFromLocal -copyFromLocal <多个linux上的文件> <hdfs路径> 从本地复制
-moveFromLocal -moveFromLocal <多个linux上的文件> <hdfs路径> 从本地移动
-getmerge -getmerge <源路径> <linux路径> 合并到本地
-cat -cat <hdfs路径> 查看文件内容
-text -text <hdfs路径> 查看文件内容
-copyToLocal -copyToLocal [-ignoreCrc] [-crc] [hdfs源路径] [linux目的路径] 从本地复制
-moveToLocal -moveToLocal [-crc] <hdfs源路径> <linux目的路径> 从本地移动
-mkdir -mkdir <hdfs路径> 创建空白文件夹
-setrep -setrep [-R] [-w] <副本数> <路径> 修改副本数量
-touchz -touchz <文件路径> 创建空白文件
-stat -stat [format] <路径> 显示文件统计信息
-tail -tail [-f] <文件> 查看文件尾部信息
-chmod -chmod [-R] <权限模式> [路径] 修改权限
-chown -chown [-R] [属主][:[属组]] 路径 修改属主
-chgrp -chgrp [-R] 属组名称 路径 修改属组
-help -help [命令选项] 帮助

常用 hdfs shell命令

格式:  hadoop fs -ls  URI
作用:类似于Linux的ls命令,显示文件列表
hadoop fs -ls  /

格式  :  hdfs  dfs -lsr URI
作用  : 在整个目录下递归执行ls, 与UNIX中的ls-R类似
hdfs dfs -ls -R /

格式 : hdfs  dfs -mkdir [-p] <paths>
作用 :   以<paths>中的URI作为参数,创建目录。使用-p参数可以递归创建目录
hadoop fs -mkdir /dir1
hadoop fs -mkdir /dir2
hadoop fs -p -mkdir /aaa/bbb/ccc

格式   : hadoop fs -put <localsrc >  ... <dst>
作用 :  将单个的源文件src或者多个源文件srcs从本地文件系统拷贝到目标文件系统中(<dst>对应的路径)。也可以从标准输入中读取输入,写入目标文件系统中
echo “Hello HDFS” >> /root/1.txt
hadoop fs -put  /root/1.txt  /dir1

格式: hdfs  dfs -moveFromLocal  <localsrc>   <dst>
作用:   和put命令类似,但是源文件localsrc拷贝之后自身被删除
echo “Hello HDFS” >> /root/2.txt
hdfs  dfs -moveFromLocal  /root/2.txt  /

格式:  hadoop fs  -get [-ignorecrc ]  [-crc]  <src> <localdst>
作用:  将文件拷贝到本地文件系统。 CRC 校验失败的文件通过-ignorecrc选项拷贝。 文件和CRC校验和可以通过-CRC选项拷贝
hadoop fs  -get   /2.txt  /export/data

格式: hadoop fs -getmerge -nl  < hdfs dir >  < local file >
功能:合并下载多个文件
参数: 加上nl后,合并到local file中的hdfs文件之间会空出一行
示例:比如hdfs的目录 /aaa/下有多个文件:log.1, log.2,log.3,...
hadoop fs -getmerge  /aaa/log.*  ./log.sum
将1.txt和2.txt的内容下载到/abc.txt文件下
hadoop fs -getmerge /aaa/1.txt /aaa/2.txt /abc.txt

格式  : hdfs  dfs -mv URI   <dest>
作用: 将hdfs上的文件从原路径移动到目标路径(移动之后文件删除),该命令不能跨文件系统
hdfs dfs -mv /dir1/a.txt /dir2

格式: hadoop fs -rm [-r] 【-skipTrash】 URI 【URI 。。。】
作用:   删除参数指定的文件和目录,参数可以有多个,删除目录需要加-r参数
如果指定-skipTrash选项,那么在回收站可用的情况下,该选项将跳过回收站而直接删除文件;
否则,在回收站可用时,在HDFS Shell 中执行此命令,会将文件暂时放到回收站中。
hadoop fs -rm /2.txt       #删除文件
hadoop fs -rm  -r  /dir1  #删除文件或目录

格式: hdfs  dfs  -cp URI [URI ...] <dest>
作用:将文件拷贝到目标路径中。如果<dest>  为目录的话,可以将多个文件拷贝到该目录下。
-f 选项将覆盖目标,如果它已经存在。
-p 选项将保留文件属性(时间戳、所有权、许可、ACL、XAttr)。
hadoop fs -cp /dir1/1.txt  /dir2/2.txt

hadoop fs  -cat  URI [uri  ...]
作用:将参数所指示的文件内容输出到控制台
hadoop fs  -cat  /dir2/2.txt
hadoop fs  -cat  URI 

功能:显示目录中所有文件大小,当只指定一个文件时,显示此文件的大小。
hadoop fs -du /

格式:  hadoop fs  -chmod  [-R]  URI[URI  ...]
作用: 改变文件权限。如果使用  -R 选项,则对整个目录有效递归执行。使用这一命令的用户必须是文件的所属用户,或者超级用户。
例如:可以创建一个用户hadoop,将/a.txt的所属用户和所属用户组修改为hadoop
hadoop fs -chmod -R 777 /dir1

格式: hdfs   dfs  -chmod  [-R]  URI[URI  ...]
作用:改变文件的所属用户和用户组。如果使用  -R 选项,则对整个目录有效递归执行。使用这一命令的用户必须是文件的所属用户,或者超级用户。 
hadoop fs  -chown  -R hadoop:hadoop  /a.txt
 
格式: hadoop fs -appendToFile <localsrc> ... <dst>
作用: 追加一个或者多个文件到hdfs指定文件中.也可以从命令行读取输入.
cd /export/server/hadoop2.7.5/etc/hadoop/
hadoop fs -appendToFile  *.xml  /big.xml

HDFS高级命令

HDFS的安全命令
  • hdfs的安全模式是hdfs的一种保护机制,当hdfs刚启动的时候,此时hdfs会自动进入安全模式,datanode和namenode会进行块的校验,此时无法进行hdfs数据的写入和修改和删除,只能进行查询。
  • hdfs默认的副本率0.999,默认3备份的情况下,三个副本每个副本都要启动。
  • 默认情况下,hdfs启动到达30s后,会自动的退出安全模式,此时数据块都校验完毕。
  • 如果hdfs中的块副本不够,此时就要新增,如果多余设定副本(默认3个副本),就会删除多余副本。
  • 安全模式的操作命令
#查看安全模式状态
hdfs  dfsadmin  -safemode  get 
#进入安全模式
hdfs  dfsadmin  -safemode  enter 
#离开安全模式
hdfs  dfsadmin  -safemode  leave
HDFS的基准测试
  • 目的:验证HDFS的读写的效率,就是其吞吐量的问题
  • 如何测试写入的速度呢
hadoop jar /hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.5.jar TestDFSIO -write  -nrFiles 10 -fileSize 10MB
  • 如何测试读取的速度呢
hadoop jar /hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.5.jar TestDFSIO - read -nrFiles 10 -fileSize 10MB
  • 如何删除基准测试数据呢
hadoop jar /hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.5.jar TestDFSIO -clean


目录
相关文章
|
存储 分布式计算 Hadoop
HDFS 修改副本数&fsck命令
HDFS 修改副本数&fsck命令
581 0
|
6月前
|
分布式计算 Java 大数据
【大数据技术Hadoop+Spark】HDFS Shell常用命令及HDFS Java API详解及实战(超详细 附源码)
【大数据技术Hadoop+Spark】HDFS Shell常用命令及HDFS Java API详解及实战(超详细 附源码)
669 0
|
4月前
|
分布式计算 Hadoop
hadoop格式化HDFS的命令
【7月更文挑战第21天】
425 5
|
12月前
|
API
HDFS基本命令及上传文件API
HDFS基本命令及上传文件API
106 0
|
6月前
|
分布式计算 Hadoop Shell
Hadoop【基础知识 04】【HDFS常用shell命令】(hadoop fs + hadoop dfs + hdfs dfs 使用举例)
【4月更文挑战第4天】Hadoop【基础知识 04】【HDFS常用shell命令】(hadoop fs + hadoop dfs + hdfs dfs 使用举例)
98 5
|
6月前
|
分布式计算 Hadoop Linux
HDFS的常用命令
HDFS的常用命令
69 0
|
6月前
|
存储 分布式计算 大数据
大数据笔记 | HDFS 常用操作命令
大数据笔记 | HDFS 常用操作命令
248 0
|
12月前
|
分布式计算 Hadoop
HDFS教程(02)- HDFS命令汇总
HDFS教程(02)- HDFS命令汇总
138 0
|
存储 分布式计算 Hadoop
HDFS文件操作命令
HDFS文件操作命令
107 0
|
分布式计算 大数据 Hadoop
【大数据开发技术】实验02-HDFS常用shell命令
【大数据开发技术】实验02-HDFS常用shell命令
208 0

相关实验场景

更多