前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据干货系列(三)-Hadoop2.0总结

大数据干货系列(三)-Hadoop2.0总结

作者头像
企鹅号小编
发布2018-02-05 10:47:00
5650
发布2018-02-05 10:47:00
举报
文章被收录于专栏:大数据大数据

本文共计810字,预计阅读时长五分钟

Hadoop2.0总结

一、本质

Hadoop2.0,相比于Hadoop1.0,最明显的区别是YARN系统和HDFS2.0的新特性

二、Yarn解决了什么问题

1.降低运维成本和数据共享成本

2.减小了JobTracker(也就是现在的RM)的负担

3.使得多种计算框架可以运行在一个集群中

4.资源表示成内存量,解决了之前的map slot/reduce slot分开造成集群资源闲置的情况

三、HDFS2.0解决了什么问题

1.NameNode HA解决了Hadoop1.0中NameNode的单点问题

2.NameNode Federation解决了NameNode的横向扩展问题

3.HDFS Snapshot解决了数据备份,防止用户错误操作和容灾恢复

4.HDFS Cache可以防止频繁使用的数据被从内存中清除

5.HDFS ACL使得权限控制可以对单个用户操作

6.异构层级存储结构支持一个集群中,有多种不同的存储介质

四、系统架构

1.ResourceManager(RM)

• RM处理客户端请求,接收JobSubmitter提交的作业,按照作业的上下文(Context)信息,以及从NodeManager(NM)收集来的状态信息,启动调度过程,分配一个Container作为App Master

• RM拥有为系统中所有应用资源分配的决定权,是中心服务,做的事情就是调度、启动每一个Job所属的Application、另外监控Application的存在情况

•与运行在每个节点上的NM进程交互,通过心跳通信,达到监控NM的目的

2. ApplicationMaster(AM)

•应用程序的Master,每一个应用对应一个AM,类似旧的JobTracker

•与RM协商资源

–与Scheduler协商合适的Container

•与NM协同工作与Scheduler协商合适的Container进行Container的监控

•以一个普通Container的身份运行

3. NodeManager(NM)

•是slave进程,类似TaskTracker的角色,是每个机器框架代理

•处理来自RM的任务请求

•接收并处理来自ApplicationMaster的Container启动、停止等各种请求

•负责启动应用程序的Container(执行应用程序的容器),并监控他们的资源使用情况(CPU、内存、磁盘和网络),并报告给RM

4. Container

•是任务运行环境的抽象封装

• Container只是使用NM上指定资源的权利

• AM必须向NM提供更多的信息来启动Container

•描述任务的运行资源(节点、内存、cpu)、启动命令和运行环境

Yarn是重构的MapReduce,其根本思想:将JobTracker两个主要的功能分离成单独的组件,这两个功能是资源管理(RM)和任务调度(AM)

五、Yarn的执行流程与容错

1. RM挂掉:

单点故障,新版本可以基于Zookeeper实现HA高可用集群,可通过配置进行设置准备RM,主提供服务,备同步主的信息,一旦主挂掉,备立即做切换接替进行服务

2. NM挂掉:

当NM挂了,会通过心跳方式通知RM,RM将情况通知对应AM,AM作进一步处理

3. AM挂掉:

若挂掉,RM负责重启,其实RM上有一个RMApplicationMaster,是AM的AM,上面保存已经完成的task

以上.

如果觉得本文对你有帮助,可以帮忙点个赞表示支持吗,谢谢!

如果有任何意见和建议,也欢迎再下方留言~

关注这个公众号,每天22:00会有三道大数据面试题准时推送给你哦~

本文来自企鹅号 - 每天学点java干货媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - 每天学点java干货媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档