文章目录
一、介绍
- 命令行界面(command-line interface,缩写:CLI):,是指用户通过键盘输入命令,计算机接收到指令后,予以执行一种人际交互方式。
- Hadoop提供了文件系统的shell命令行客户端:
hadoop fs [generic options]
二、文件系统协议
- hdfs shell cli 支持操作多种文件系统,包括本地文件系统(file:///),分布式文件系统(hdfs://nm:8020)等
- 具体操作的是什么文件系统取决于命令中问价路径URL中的前缀协议。也就是协议决定了文件系统的交互方式,大家都按照同一协议进行交互。
- 如果没有指定前缀,则将读取环境变量中的fs.defaultFs属性,以该属性值作为默认文件系统
hadoop fs -ls file:/// # 本机根目录文件
hadoop fs -ls hdfs://node1:8020 # HDFS分布式文件系统
hadoop fs -ls / # 没有指定协议,则是 core-site.xml 的fs.defaultFS值
三、常见命令
1.创建文件夹
- 命令格式
hadoop fs -mkdir [-p] <path> ...
- 参数说明
path 为待创建的目录
-p 选项的行为与Unix mkdir -p非常相似,它会沿着路径创建父目录
- 举例
hadoop fs -mkdir /demo
2.查看指定目录下内容
- 命令格式
hadoop fs -ls [-h] [-R] [<path>...]
- 参数说明
path 指定目录路径
-h 人性化显示,也就是显示文件size,增加计量单位
-R 递归查看指定目录及其子目录
- 举例
hadoop fs -ls /
3.上传文件到HDFS指定目录下
- 命令格式
hadoop fs -put [-f] [-p] <localsrc>... <dst>
- 参数说明
-f 覆盖目标文件(已经存在的情况下)
-p 保留访问和修改时间,所有权和权限
localsrc 本地文件系统(客户端所在机器)
dst 目标文件系统【HDFS】
- 举例
hadoop fs -put /data/1.txt /demo
4.下载HDFS文件
- 命令格式
hadoop fs -get [-f] [-p] <src>... <localdst>
- 参数说明
-f 覆盖目标文件(已经存在的情况下)
-p 保留访问和修改时间,所有权和权限
src 待下载文件路径及文件名
localdst 必须是本地文件系统目录
- 举例
hadoop fs -get /demo/1.txt ./
5.拷贝HDFS文件
- 命令格式
hadoop fs -cp [f] <src>... <dst>
- 参数说明
-f 覆盖目标文件(已经存在的情况下)
src 拷贝目录或文件
dst 目标目录及名称
- 举例
hadoop fs -cp /small/1.txt /demo
hadoop fs -cp /small/1.txt /demo/666.txt # 拷过去重命名
hadoop fs -cp /small
6.追加数据到HFDS文件
- 命令格式
hadoop fs -appendToFile <localsrc>... <dst>
// 将所有给定本地文件的内容追加到给定的dst文件【hdfs】
- 参数说明
localsrc 本地文件
dst hdfs文件系统文件,如果文件不存在,则创建该文件
- 举例
hadoop fs -appendToFile 2.txt 3.txt /1.txt
注意: dst文件必须是新的,否则会提示合并失败。这一点恰好是证明 hdfs文件是不能修改的
四、写在最后
hdfs中的命令,和linux中的命令是很接近的,所以学习成本很低的。
版权归原作者 Adeaven(跑步行者) 所有, 如有侵权,请联系我们删除。