hadoop学习之路1--hdfs架构

本系列均为hadoop1版本为准。。


        HDFS是一个具有高度容错性的分布式文件系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。

        HDFS架构如图,总体采用master/slave架构,主要由以下几个组件组成:Client、NameNode、SecondaryNameNode和DataNode

8940211-d33e8114d06d0bc6.png
HDFS架构图

1.Client 

Client(代表用户) 通过与NameNode 和DataNode 交互从而访问Hdfs中的文件。Client提供了一个类似POSIX(可移植操作系统接口Portable Operating System Interface of UNIX,缩写为 POSIX )的文件系统接口供用户调用

2.NameNode

整个Hadoop集群中只有一个NameNode。它是整个系统的“总管”,负责管理HDFS的目录树和相关的文件元数据信息。这些信息是以“fsimage”(HDFS元数据镜像文件)和“editlog”(HDFS文件改动日志)两个文件形式存放在本地磁盘,当HDFS重启时重新构造出来的。此外,NameNode还负责监控各个DataNode的健康状态,一旦发现某个DataNode宕掉,则将该DataNode移出HDFS并重新备份其上面的数据。

3.Secondary NameNode

Secondary NameNode 最重要的任务并不是为NameNode元数据进行热备份,而是定期合并fsimage 和edits 日志,并传输给NameNode。这里需要注意的是,为了减小NameNode压力,NameNode自己并不会合并fsimage和edits,并将文件存储到磁盘上,而是交由Secondary NameNode完成。

4.DataNode

一般而言,每个Slave节点上安装一个DataNode,它负责实际的数据存储,并将数据信息定期汇报给NameNode。DataNode以固定大小的Block为基本单位组织文件内容,默认情况下Block大小为64MB,当用户上传一个大的文件到HDFS上时,该文件会被切分成若干个Block,分别存储到不同的DataNode;同时,为了保证数据可靠,会将同一个Block以流水线方式写到若干个(默认是3)不同的DataNode上。这种文件切割后存储的过程是对用户透明的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值