HDFS基础1

时间:2023-03-09 02:48:31
HDFS基础1

一、HDFS入门

HDFS基础1

二、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

HDFS基础1

2、-mkdir

功能:

在hdfs上创建目录,-p表示会创建路径中的各级父目录。

使用:

hadoop fs -mkdir [-p] <paths>

示例:

hadoop fs -mkdir -p /hello/hello1/hello2

HDFS基础1

3、-put

功能:

将单个文件或多个文件从本地文件系统复制(上传)到目标文件系统

使用:

hadoop  fs  -put  [-f]  [-p] 本地文件目录 目标文件目录

-p:表示保留访问和修改时间,所有权和权限

-f:覆盖目的地(如果已经存在)

示例:

hadoop  fs  -put  /root/install.log.syslog  /

HDFS基础1

4、-get

功能:

将文件复制(下载)到本地文件系统

使用:

hadoop  fs  -get  [ignorecrc]  [-crc]  [-p]  [-f]  文件系统目录 本地文件保 存目录

-ignorecrc:跳过对下载文件的CRC检查

-crc:为下载的文件写CRC效验和

示例:

hadoop  fs -get  /install.log.syslog  ./(当前目录)

HDFS基础1

5、-appendToFile

功能:

追加一个文件到已经存在的文件末尾

使用:

hadoop  fs  -appendToFile  本地文件目录 目标文件目录

示例:

hadoop  fs  -appendToFile 2.txt  /1.txt

6、-cat

功能:

显示文件内容

使用:

hadoop  fs  -cat 文件目录

示例:

hadoop  fs  -cat  /1.txt

HDFS基础1

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