Hadoop2.x基础

*************** hadoop 2.x ***************************
一、hadoop2.x介绍
1.使用zookeeper做HA,主备namenode可以手动切换,也可基于zookeepr自动切换
2.自动切换方案
-zookeeperFailoverController:监控namenode健康状况
-并向zk注册nn
-nn挂掉以后,zkfc为nn竞争锁,获得zkfc锁的nn变为active
-zk算法实现为投票机制,所以zk的个数必须是大于1的奇数

二、HA

- 主备namenode
- 解决单点故障
--主nn对外提供服务,备nn同步主nn元数据,以待切换
--所有dn同时向两个nn汇报数据块信息
- 两张切换选择
--手动切换,通过命令实现,可用于hdfs升级场景
-- 自动切换,基于zk实现


三、2.x Federation

- 通过多个namenode/namespace 把元数据的存储和管理分散到多个节点上,使得namenode/namespace 可以通过增加机器来进行水平扩展
- 能把单个namenode的负载分散到多个节点上,在HDFS


四、YARN

- 实现了接口化,可兼容第三方计算框架
-- 核心思想:将MRv中的jobTracker的资源管理和任务调度两个功能分开,分别由ResourceManager和ApplicationMaster进程实现
-- ResourceManager:负责整个集群的资源管理和调度
-- ApplicationMaster:负责程序相关的事物,比如任务调度、任务监控和容错
- YARN的引入,使得多个计算框架可运行在一个集群中
-- 每个应用程序对应一个applicationMaster
-- 目前多个计算框架可以运行在YARN上,比如MApReduce、Spark、Storm等
- MapReduce On YARN
--将MR作业直接运行在YARN上,而不是jobtracker和TaskTracker搭建的
--基本功能模块
--yarn:负责资源管理和调度
--MRAppMaster:负责任务切分、任务调度、任务监控和容错等
-- MApTask/ReduceTask:任务驱动引擎与MPv1一致
--每个MapReduce作业对应一个MRAppMaster
--MRAppMaster任务调度
--YARN将资源分配给MRAppMaster
--MRAppMaster进一步将资源分配给内部的任务
--MRAppMaster容错
-- 失败后,由yarn重新启动
-- 任务失败后,MARAppMaster重新申请资源

posted @ 2018-01-04 11:45  颜子  阅读(86)  评论(0编辑  收藏  举报