Hadoop组成(面试经常考到)hadoop1.x和2.x版本的区别 以及生态
在Hadoop1.x时代,Hadoop中的MapReduce同时处理业务逻辑运算和资源的调度,耦合性较大。在Hadoop2.x时代,增加了Yarn。Yarn只负责资源的调度,MapReduce只负责运算。增加yarn的主要目的是解耦!将计算和资源调度区分开NameNode、DataNode、Secondary NameNode:NameNode(nn):存储文件的...
·
在Hadoop1.x时代,Hadoop中的MapReduce同时处理业务逻辑运算和资源的调度,耦合性较大。
在Hadoop2.x时代,增加了Yarn。Yarn只负责资源的调度,MapReduce只负责运算。
增加yarn的主要目的是解耦!
将计算和资源调度区分开
NameNode、DataNode、Secondary NameNode:
NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。--------------相当于目录
DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和。---------相当于文章
Secondary NameNode(2nn):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。
Yarn组成:
ResourceManager、NodeManager、
ApplicationMaster、Container
ResourceManager:
- 处理客户端请求
- 监控NodeManager
- 启动或监控ApplicationMaster
- 资源的分配与调度
NodeManager:
- 管理单个节点上的资源
- 处理来自ResourceManager的命令
- 处理来自ApplicationMaster的命令
ApplicationMaster:
- 负责数据的切分
- 为应用程序申请资源并分配给内部的任务
- 任务的监控与容错
Container:
- Container是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等。
MapReduce
分Map 和 Reduce两个阶段
Map阶段并行处理输入数据、(分数据)
Reduce阶段对Map结果进行汇总(合数据)
生态环境
- 数据来源
结构化数据
非结构化数据 - 数据传输
Sqoop数据传递、Flume日记收集 - 数据存储
HBase非关系型数据库
HDFS文件存储 - 资源管理
YARN资源管理 - 数据计算
离线计算:Hive、Mahout、Spark Mlib、Spark R、Spark Sql
实时计算:Spark Streaming、Storm(需要另外配置一套集群,基本被淘汰)、Flink(最近崛起的一个框架、注意关注!) - 任务调度
Oozie任务调度、Azkaban任务调度、Linux自带定时调度Crontab - 业务模型
如果想同意管理集群,可以将共用的配置放到Zookeeper
更多推荐
已为社区贡献4条内容
所有评论(0)