Hdfs简介,组成及体系结构,JAVA API基本操作

本文介绍了Hadoop的Hdfs,包括其设计初衷、不适合的场景,以及NameNode、DataNode和SecondaryNameNode的组成。详细讲解了Hdfs的体系结构,如块、副本存放策略和读取策略。最后,提供了JAVA API的基本操作示例,如读取、写入、删除文件和创建目录。
摘要由CSDN通过智能技术生成

hadoop四大模块
-------------------
common
hdfs        //namenode + datanode + secondarynamenode
mapred

yarn        //resourcemanager + nodemanager

1.Hdfs简介

Hdfs是基于流数据模式访问和处理超大文件的需求而开发的,可以运行在廉价的商用服务器上。我们通常所说的分布式系统其实是分布式文件系统,即支持分布式处理的软件系统,他是在通信网络互连的多处理机体系结构上执行任务的系统,包括分布式操作系统,分布式程序设计语言及其编译(解释)系统,分布式文件系统和分布式数据库系统等。Hadoop是分布式软件系统中文件系统层的软件,实现了分布式文件系统和部分分布式数据库系统的功能。Hadoop中的分布式文件系统Hdfs实现了数据在计算机集群上的存储和管理。Hdfs不适合:(1)低延迟的数据访问:Hdfs是为了处理大型数据集分析任务,主要是为达到高的数据吞吐量而设计的,这就要求可能以高延迟作为代价。(2)无法高效的存储大量的小文件:在Hadoop中需要用NameNode(名称节点)来管理文件系统的元数据,以响应客户端请求返回文件位置等,因此文件数量大小的限制要由NameNode来决定。例如,每个文件,索引目录及块大约占100字节左右,如果有100万文件,每个文件占一个块,那么至少要消耗200M内存,这似乎可以接受。但是如果有更多文件,那么NameNode的工作压力更大,检索处理元数据所需要的时间就不可接受了。(3):不支持多用户写入及任意修改文件。

2.Hdfs的组成以及体系结构

2.1Hdfs由3部分组成,分别是:

NameNode——主节点,主要用来保存元数据信息,维护整个文件系统的文件目录树以及这些文件的索引目录

DataNode——数据节点,主要用来存储数据。

Secondarynamenode——辅助节点,主要用来实时备份NameNode的元数据信息,并且合并edits与fsimage(后边我们来分析这两个文件)

2.2Hdfs的体系结构

                              

 

 

Hdfs采用Master/Slave架构对文件系统进行管理。一个Hdfs集群是由一个NmaeNode和一定数目的DataNode组成。NmaeNode是一个中心服务器,负责管理文件系统的名字空间(Namespeace)以及客户端对文件的访问。集群中的DataNode一般是一个节点运行一个DataNode进程,负责管理它所在节点上的存储。Hdfs展示了文件系统的名字空间,用户能够以文件的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值