dedecms网站地图生成,跨境电商平台有哪些特点,平台游戏,西安凤城二路网站建设Apache Hadoop YARN #xff08;Yet AnotherResource Negotiator#xff0c;另一种资源协调者#xff09;是一种新的 Hadoop 资源管理器#xff0c;它是一个通用资源管理系统#xff0c;可为上层应用提供统一的资源管理和调度#xff0c;它的引入为集群在利用率、资源统一…Apache Hadoop YARN Yet AnotherResource Negotiator另一种资源协调者是一种新的 Hadoop 资源管理器它是一个通用资源管理系统可为上层应用提供统一的资源管理和调度它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。
1 Hadoop2.0相对Hadoop1.0做的改进 (1) 针对Hadoop1.0单NameNode制约HDFS的扩展性问题提出HDFS Federation它让多个NameNode分管不同的目录进而实现访问隔离和横向扩展同时解决了NameNode单点故障问题
(2) 针对Hadoop1.0中的MapReduce在扩展性和多框架支持等方面的不足它将JobTracker中的资源管理和作业控制分开分别由ResourceManager负责所有应用程序的资源分配和ApplicationMaster负责管理一个应用程序实现即引入了资源管理框架Yarn
(3) hadoop2.0相对hadoop1.0没有JobTracker和TaskTracker进程多了ResourceManager和NodeManager进程
(4) Hadoop1.0里面map和reduce任务必须提前申请到slotHadoop2.0里面没有slot概念统一变成container容器
(5) MapReduce经历了完全重构不再是Hadoop的核心组件而成为Yarn上的一种应用框架可替代storm、spark。。。多种计算框架运行
(6) 在Yarn中Job的概念换成了application
(7) 重构的根本思想将JobTracker两个主要的功能分离成单独的组件这两个功能是资源管理和任务调度/监控。 2 Yarn 特点
(1) 良好的扩展性、高可用
(2) 对多种类型的应用进行统一管理和调度
(3) 自带多种用户调度器适合共享集群环境
(4) 相比传统模式提供了资源利用率、降低运维成本和数据共享成本。 3 系统架构 (1) ResourceManagerRM
a) 接受客户端请求资源分配分配
b) 管理每一个Job所属的Application的各种状态
c) 监控NN各种状态NN心跳上报
d) 有一个可插拔的调速器组件Scheduler调度的资源就是Container
e) scheduler不负责应用程序的监控和状态跟踪不保证任务失败情况下对task的重启。
(2) ApplicationMasterAM a) 是一个普通的Container的身份运行不是实时都存在的 b) 负责一个job生命周期内所有工作job完成AM消失 c) 与RM协商实例所需的Container资源; d) 与NN协商合适的Container和进行Container监控; e) AM可以是MapReduce任务、storm任务、spark任务等。 (3) NodeManagerNM a) 是slave进程类似TaskTracker的角色有多个
b) 处理来自RM的任务请求
c) 接收并处理来自ApplicationMaster的Container启动、停止等各种请求
d) 负责启动应用程序的Container执行应用程序的容器,并监控他们的资源使用情况CPU、内存、磁盘和网络并报告给RM;
e) 总的来说在单节点上进行资源管理和任务管理。 (4) Container a) 是任务运行环境的抽象封装; b) Container只是使用NM上指定资源的权利; c) AM必须向NM提供更多的信息来启动Container; d) 描述任务的运行资源节点、内存、cpu、启动命令和运行环境。 4 执行流程 (1) Client请求ResourceManager运行一Application Master实例(step1)
(2) Resource Manager选择一个NodeManager,启动一个Container并运行Application Master实例(step 2a、step 2b)
(3) Application Master根据实际需要向ResourceManager请求更多的Container资源(step 3);
(4) Application Master通过获取到的Container资源执行分布式计算(step4a、step 4b);
(5) Application Master向NodeManager提供更多Container的信息
(6) NodeManager启动Container。 5 容错
(1) RM挂掉
单点故障新版本可以基于Zookeeper实现HA高可用集群可通过配置进行设置准备RM主提供服务备同步主的信息一旦主挂掉备立即做切换接替进行服务
(2) NM挂掉
当NM挂了会通过心跳方式通知RMRM将情况通知对应AMAM作进一步处理
(3) AM挂掉
若挂掉RM负责重启其实RM上有一个RMApplicationMaster是AM的AM上面保存已经完成的task若重启无需重新运行已经完成的task。
6 Yarn调度器
(1) FIFO Scheduler:按提交顺序最简单大应用占用所有集群资源不适合共享集群
(2) Capacity Scheduler专有队列运转小任务预先占一定集群资源导致大任务执行时间落后于FIFO
(3) Fair Scheduler不需要预占动态调整公平共享。