您的位置:首页 > 运维架构

初识hadoop

2017-09-15 17:16 141 查看
hadoop做了什么事:

    提供了海量离线数据的存储,提供了海量离线数据的分布式计算,同时具备高可靠,高吞吐,分布式的特点。

hadoop核心组件:

    hdfs(分布式存储),mapreduce(分布式计算),yarn(资源调度平台)

①海量数据的存储:

    通过hdfs实现,hdfs是一个分布式的高可靠的存储框架,由namenode,datanode,secondarynamenode(hadoop2.x中已经不需要他来进行hdfs日志的合并)组成,hdfs主要完成的功能:元数据保存,副本存放,和文件切块。

    namenode主要进行一个元数据管理,包括内存中完整的元数据,磁盘中接近完整的元数据文件fsimage,以及记录的操作日志文件edits。

    datanode主要是对数据进行存储,通过配置的dfs.replication的值,来决定保存一个副本。

    secondarynamenode:namenode负责管理元数据(有几个副本,副本存放在那个datanode上),这些信息是保存在namenode节点的内存中的,但是当我们上传数据的时候,是先记录操作日志edits文件,这一步的目的是什么呢?是为了后续更新namenode元数据而做准备,如果namenode既提供访问服务,又要实时更新元数据的变化,这样他的负荷就会很大,有了这样的问题,我们就用一个secondarynamenode来定时向namenode请求到操作日志,并把fsimage(namenode中的元数据镜像文件)下载下来,在sn(secondarynamenode)上做合并,并发送给namenode,namenode更新内存中的元数据,并在edits中打标记,这个时间点的元数据就是最新的了。一句话总结:sn在nn失效的时候并不能代替nn对外提供服务,达到热备的效果,只能帮助nn合并操作日志,更新元数据。

②海量数据的分布式计算

    hadoop提供了一个mapreduce的分布式计算框架,计算过程分为map阶段和reduce阶段,此文章中不对mr进行详细分析,请参考后续博文

③高可靠

    hadoop2.x中引入了HA和联邦机制的概念,主要是namenode的高可靠,通过zookeeper去协调切换,做失活处理。

    


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hadoop