hadoop入门分析(一)- 基本架构

hadoop入门分析(一)- 基本架构

​这里呢我们将简单的对大数据进行一个初步的认识,毕竟大家都知道,无论是学习一项新技术还是一项新的什么其他的技能,光靠死记硬背是很难背下来的。重要的是对于你要掌握的东西的一个理解,有了理解,那就容易多了不是。所以人狠话不多,废话不多说,接下来就和大家一起探讨下大数据的基本架构。

背景

​背景就不多赘述了,相信很多朋友也不愿意过多了解这个历史,这里还是主要感谢膜拜那些大老前辈吧,主要是Google发的paper以及Nutch项目组对于其分布式文件系统的实现和MapReduce的paper实现。为hadoop的问世奠定了基础。

hadoop基础架构

首先,hadoop是由两部分组成。分布式文件系统(HDFS)MapReduce即分布式计算框架构成。说白了呢,对于大数据hadoop这两部分对应的分别解决了两个问题,数据的存储以及数据的处理。并且底层的分布式文件系统是可独立的,也就是说有能力的用户可以做对文件系统做一个私人定制化,对接MapReduce时只需经过简单的配置,就能对接该文件系统。这就很人性化个性化了。接下来我们就主要研究一下这两部分。

HDFS架构

​hdfs呢主要是靠磁盘,用现在的话就是罗机器,从而提高了数据的吞吐量,适合大规模数据集上的应用。架构上来讲主要是采用了master/slave架构。分为以下组件

  • Client
  • NameNode
  • SecondaryNameNode
  • DataNode

先看一张HDFS的基本架构图,如图1-1所示:

在这里插入图片描述

图1-1 HDFS架构图

接下来分别了解一下以上四个组件:

  1. Client

​ Client也就是用户可以通过与NameNode和DataNode交互从从而访问HDFS的文件。其实就是对外提供了访问整个文件系统的接口。

  1. NameNode

这一组件相当于整个系统的管家,主要负责管理HDFS的目录树和相关文件元数据信息。而这些信息是以fsimage(HDFS元数据镜像文件)和editlog(HDFS文件改动日志)两个文件存在本地磁盘的。同时从图中也可以看到,NameNode还负责检测各个DateNode的健康信息,一但有挂掉的。则将其移除HDFS并重新备份挂掉的数据。

  1. Secondary NameNode

​ 图中可以看出该组件和NameNode有一定交互,其实Secondary NameNode在这里主要对fsimage和editlog进行合并,并传给NameNode,从而降低NameNode压力。

  1. DateNode

​ 一般讲,每个Slave节点安装一个DateNode,负责真正的数据存储,定期向NameNode汇报数据信息,看图可以看出存储有一些特点。当用户上传大文件时分成block进行存储,默认是64mb一个block,不同hadoop版本也可能不同。并且为了数据可靠性将block进行数据备份,如图,默认备份3份也可自行配置,写到不同的DateNode上,这一过程对用户来讲是透明的。

小结

这篇主要记录了hadoop的一个全貌,分为两大部分HDFS,MapReduce。其中对HDFS进行了一些架构的介绍,后面还会对我们的MapReduce的架构以及编程的模型进行细致的分析,做到知其所以然。由于能力有限,文章中出现的一些纰漏错误或者有什么交流的地方都欢迎留言,希望我们彼此都能够有所收获。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值