文章目录
1. HDFS文件系统基本信息
HDFS和Linux系统一样,均是以
/
作为跟目录的组织形式
如何区分HDFS和Linux上的路径?
可以采用如下方式区分
# 在linux路径前面加file:///
Linux:file:///file:///usr/local/hello.txt# 在hdfs路径前加hdfs://namdnode地址:port/
HDFS: hdfs://namenode:port/
hdfs://node:8020/usr/local/hello.txt
注意:在真正
hdfs命令
中协议头
file:///
或
hdfs:///node地址:8020
可以省略
在需要提供Linux路径的参数,会自动识别为
file:///
;在需要提供HDFS路径的参数,会自动识别为
hdfs://
;除非明确需要写或者不写会有BUG,否则一般不用写协议头。
2. HDFS基础命令
老版本:hadoop fs 开头
新版本:hdfs dfs 开头
使用新版本和老版本命令都可以,接下来以新版本命令演示
2.1 HDFS上创建文件夹
hdfs dfs -mkdir [-p] <path>
path
:为待创建的目录-p
:创建多级目录
示例:
hdfs dfs -mkdir -p /usr/local/server
2.2 查看HDFS指定目录下的内容
hdfs dfs -ls [-h] [-R] [<path>]
path
:指定要查看的路径-h
:人性化显示文件的大小-R
:递归查看指定目录及其子目录
示例:
hdfs dfs -ls -lh /usr
2.3 本地上传文件到HDFS指定目录下
hdfs dfs -put [-f] [-p] <local path> <hdfs path>
-f
:覆盖目标文件-p
:保留访问和修改时间,所有权和权限local path
:本地文件系统地址hdfs path
:HDFS上目标文件系统
示例:
# 带协议头
hdfs dfs -put file:///etc/profile hdfs://node:8020/usr# 不带协议头
hdfs dfs -put /etc/profile /usr
2.4 查看HDFS文件内容
hdfs dfs -cat <hdfs path>
读取指定文件全部内容
示例:
hdfs dfs -cat /usr/profile
在读取大文件的时候可以使用管道符配合more:
hdfs dfs -cat /usr/profile | more
2.5 下载HDFS文件
hdfs dfs -get [-f] [-p] <hdfs path> <local dir>
hdfs path
:hdfs上要下载的文件路径local dir
:本地下载到的路径-f
:覆盖目标文件-p
:保留访问和修改时间,所有权和权限
示例:
# 下载hdfs上的profile文件到当前目录
hdfs fs -get /usr/profile ./
2.6 复制HDFS文件
hdfs dfs -cp [-f] <src> <dst>
-f
:覆盖目标文件
示例:
# 复制 a.txt到/usr路径下
hdfs fs -cp /small/a.txt /usr
# 重命名
hadoop fs -cp /small/1.txt /small/1.txt
只能是在HDFS上的路径之间的复制,不能本地文件复制到HDFS
2.7 追加数据到HDFS文件中
hdfs dfs -appendToFile <local path> <hdfs path>
将所有给定文本文件的内容追加到给定的hdfs文件
hdfs path
如果文件不存在,将创建文件
如果
<local path>
为-,则输入为从标准输入中读取。
示例:
hdfs fs -appendToFile 1.txt 2.txt 3.txt /usr/a.txt
2.8 HDFS数据移动
hdfs dfs -mv <src> <dst>
示例:
# 移动a.txt 到/local路径下:
hdfs dfs -mv /usr/a.txt /local# 重命名:
hdfs dfs -mv /usr/a.txt /usr/b.txt
移动文件到指定的文件夹下,也可以使用该命令重命名
2.9 HDFS删除数据
hdfs dfs -rm -r [-skipTrash] URI [URI ....]
示例:
hdfs dfs -rm -r -skipTrash /usr/b.txt
删除指定路径的文件或文件夹,
-skipTrash
表示跳过回收站,直接删除
3. HDFS更多命令
以上是HDFS常用的基础命令,基本上已经可以满足使用,可以发现大部分都是和linux系统中的命令一致,如果需要更多HDFS命令,可以查看官方文档:
https://hadoop.apache.org/docs/r3.3.4/hadoop-project-dist/hadoop-common/FileSystemShell.html
版权归原作者 不忘初欣丶 所有, 如有侵权,请联系我们删除。