HDFS初步

HDFS是hadoop的分布式文件系统,全称:Hadoop Distributed Filesystem。由1个master(call me NameNode)和N个slaver组成(call me datanode)。其中namenode负责存储元数据,控制和协调datanode存储文件数据。通过写多份(可定义,默认1)的方式实现数据的可靠性和读取的高效性。

主要特点: 
1.    适合存储大文件,对海量小文件效率较低。这主要是由于存储在namenode上的大量小文件的文件元数据会让namenode成为瓶颈。
2.    标准流式访问。一次写入,多次读取是最高效的访问模式,只支持文件的追加写,不支持随机访问。
3.    对数据节点的硬件要求低,可靠性高,单台或多台节点故障一般不会中断服务(只要不是文件所在的所有副本存放节点都故障)
4.    适合做大数据量的离线分析,不适合做第时延的联机事务业务访问。

HDFS的数据块 
HDFS的数据块(block)是该文件系统的最小读写单位,默认64M(本地磁盘文件系统一般为512K)之所以设置为比较大的块,目的是最小化寻址时间,使文件系统的传输速度尽可能的取决于磁盘本身的性能。

HDFS的常用命令 
Hdfs和其它文件系统一样,提供了命令行方式操作和访问的功能。可以通过命令:hadoop fs 进行操作,而且比较简单和容易理解。
常用命令:
$ hadoop fs –ls <path>
$ hadoop fs –lsr <path> //递归
$ hadoop fs –mkdir <path>
$ hadoop fs –put <localsrc> ... <dst>
$ hadoop fs –cp <src> <dst>
$ hadoop fs –mv <src> <dst>
$ hadoop fs –rm <path>
$ hadoop fs –rmr <path> //递归
$ hadoop fs –cat <src>

Hadoop文件系统 
Hadoop有一个抽象的文件系统概念,抽象类:org.apache.hadoop.fs.FileSystem,HDFS只是其中的一个实现。Mapreduce理论上可以运行在任何一个实现中。实现类包括:
• LocalFileSystem:本地文件系统
• DistributedFileSystem:HDFS分布式文件系统
• HftpFileSystem:通过HTTP提供HDFS只读访问的文件系统
• HsftpFileSystem: 通过HTTPS提供HDFS只读访问的文件系统
• HarFileSystem:HDFS归档文件系统
• kosmosFileSystem:CloudStore文件系统
• FTPFileSystem:由FTP提供支持的文件系统

• NativeS3FileSystem和S3FileSystem:由Amazon S3支持的文件系统


HDFSNameNode/DataNode采用主从模式工作

其职责为:

NameNode:

         作为HDFS的主节点(管理节点)记录文件系统的元数据(metadata),同时管理元数据所在的服务器位置信息,副本数。

DataNode

         作为HDFS的从节点(数据节点)以数据块为单位,管理存储在本地磁盘上的数据块,并将数据块信息上报给NameNode

Client

         HDFS对外的接口,从NameNode上获取文件所在的位置,并连接DataNode读取、写入数据。


HDFS数据读取流程如下:

1. 业务应用调用HDFSClient提供的API打开文件。

2. HDFS Client联系NameNode,获取到文件信息(数据块、DataNode位置信息)

3. 业务应用调用readAPI读取文件。

4. HDFS Client根据从NameNode获取到的信息,联系DataNode,获取相应的数据块。(Client采用就近原则读取数据)

5. HDFS Client会与多个DataNode通讯获取数据块。

6. 数据读取完成后,业务调用close关闭连接。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值