一、HDFS入门
二、HDFS基本操作
1、shell命令行客户端
Hadoop提供了文件系统的shell命令行客户端,使用方法如下:
Hadoop fs <args>(参数哪一个文件系统和什么样的操作)
文件系统shell包括与Hadoop分布式文件系统(HDFS)以及Hadoop支持的其他文件系统(如本地FS, HFTP FS, S3 FS等)直接交互的各种类似shell的命令。所有FS shell命令都将路径URI作为参数
URI格式为scheme://suthority/path。
对于HDFS来说:scheme是hdfs;
对于本地FS来说:scheme是file
scheme和authority是可选的,如果未指定,则使用配置中指定的默认方案
对于HDFS,命令示例如下:
Hadoop fs -ls hdfs://namenode:host/parent/child
Hadoop fs -ls /parent/child fs.defaultFS中有配置
对于本地文件系统命令示例如下
Hadoop fs -ls file:///root
如果使用的文件系统是HDFS,则使用hdfs dfs也是可以的,此时
Hadoop fs <args> = hdfs dfs <args>
三、shell常用命令
1、-ls
功能:
显示文件、目录信息
使用:
hadoop fs -ls [-h](human给大小加上了单位) <args>
示例:
hadoop fs -ls /hello
hadoop fs -ls -h /hello
2、-mkdir
功能:
在hdfs上创建目录,-p表示会创建路径中的各级父目录。
使用:
hadoop fs -mkdir [-p] <paths>
示例:
hadoop fs -mkdir -p /hello/hello1/hello2
3、-put
功能:
将单个文件或多个文件从本地文件系统复制(上传)到目标文件系统
使用:
hadoop fs -put [-f] [-p] 本地文件目录 目标文件目录
-p:表示保留访问和修改时间,所有权和权限
-f:覆盖目的地(如果已经存在)
示例:
hadoop fs -put /root/install.log.syslog /
4、-get
功能:
将文件复制(下载)到本地文件系统
使用:
hadoop fs -get [ignorecrc] [-crc] [-p] [-f] 文件系统目录 本地文件保 存目录
-ignorecrc:跳过对下载文件的CRC检查
-crc:为下载的文件写CRC效验和
示例:
hadoop fs -get /install.log.syslog ./(当前目录)
5、-appendToFile
功能:
追加一个文件到已经存在的文件末尾
使用:
hadoop fs -appendToFile 本地文件目录 目标文件目录
示例:
hadoop fs -appendToFile 2.txt /1.txt
6、-cat
功能:
显示文件内容
使用:
hadoop fs -cat 文件目录
示例:
hadoop fs -cat /1.txt
7、-tail
功能:
查看文件的最后一千字内容
使用:
hadoop fs -tail [-f] 目录
示例:
hadoop fs -tail /hadoop/hadoopfile
8、-getmerge
功能:
合并下在多个文件
示例:
比如hdfs目录 /aaa下多个文件:log.1, log.12, log.3
Hadoop fs -getmerge /aaa/log.* ./log.sum
9、-setrep
功能:改变一个文件的副本系数。-R 选项用于递归改变目录下所有文件的副本系数
示例:hadoop fs -setrep -w 3(副本个数) [-R(一个文件不用写)] /user/hadoop/dir1