CDH中的JobTracker HA方案介绍

php中文网
发布: 2016-06-07 16:29:23
原创
1550人浏览过

作者: Dong | 新浪微博: 西成懂 | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明 网址:http://dongxicheng.org/mapreduce/cdh4-jobtracker-ha/ 大家都知道,Hadoop JobTracker存在单点故障,且一直没有完善的开源解决方案。在Hadoop中

大家都知道,hadoop jobtracker存在单点故障,且一直没有完善的开源解决方案。在hadoop中,由于jobtracker出现的故障的概率远远小于namenode,因此jobtracker ha通常不用来解决jobtracker容错,而是jobtracker在线升级问题。

Cloudera在最近推出的4.2.0版本中,提供了一套比较完善的JobTracker HA解决方案。本文将介绍这一方案。

在正式介绍CDH解决方案之前,先简要介绍JobTracker HA的基本工作流程,可概括为以下几步:

(1) Active JobTracker通过日志记录作业运行信息;

(2) 发现Active JobTracker故障,切换到某一个Stanby JobTracker上;

(3) Stanby JobTracker通过日志恢复作业运行时信息;

(4) ?以上切换过程对JobTracker的客户端(JobClient,TaskTracker和Web HTTP)透明。

对于当前几乎所有Hadoop版本,(1)和(3)已经解决,而(2)(4)则尚未解决。

Cloudera的JobTracker HA解决方案如下图所示,主要由以下几个模块组成:

(1)??? JobTrackerHADaemon

运行在JobTracker端,用于控制JobTracker的启动与停止。

(2)??? JobTrackerHAServiceProtocol

运行在JobTracker端,实际上是一个RPC Server,接收并处理来自MRHAAdmin(管理员)的JobTracker处理请求,比如将JobTracker转为Active状态或者Standy状态等。

(3)??? MRHAAdmin

为管理员提供的工具包,管理员可通过其中的一些函数控制各个JobTracker的状态。

(4)??? JobTrackerProxies

对原有RPC客户端的再次封装,使各个客户端在Active JobTracker出现故障时能够透明地将RPC请求发送至新的Active JobTracker上。

(5)??? JobTrackerHAHttpRedirector

对来自Web端的HTTP请求进行重定向。当Active JobTracker出现故障时,将所有来自Active JobTracker的访问请求重新定向到新的Active JobTracker上。

当管理员想要对JobTracker进行升级切换时,只需采用一些命令先将当前Active JobTracker置为Stanby,将另外某个Stanby JobTracker置为Active,接着Hadoop内部逻辑如下:

以上只是介绍了人工触发切换模式下的JobTracker HA架构,接下来给出使用Zookeeper进行自动切换的JobTracker HA架构图:

整个架构几乎没有改变,只是由Zookeeper发现Active JobTracker出现故障后,通过一定的选举算法选出一个新的Active JobTraker,并启动该JobTracker。

CDH的JobTracker HA解决方案有一个明显不足是作业恢复粒度过大。我们知道,JobTracker HA有三个级别的作业恢复粒度,分别是:1)作业(JobTracker重启后自动重新提交之前正在运行的作业,但是所有任务,包括重启前已经运行完成的、正在运行的和尚未运行的任务,必须重新运行)、运行完成的任务(JobTracker重启后恢复各个作业已经运行完成的任务,但是之前正在运行和尚未运行的任务需要重新调度执行)和所有任务(JobTracker重启后恢复所有作业之前一模一样的状态,即所有运行完成的和正在运行的任务均保持之前状态,只需重新调度尚未运行的任务),这三个级别实现难度依次增高,但收益依次增大。对于CDH 4.2.0而言,它仅实现了作业级别的恢复粒度,属于一种最简单且收益最小的实现方式。

参考资料:

(1) CDH JobTracker HA介绍和安装方案:

https://ccp.cloudera.com/display/CDH4DOC/Configuring+High+Availability+for+the+JobTracker+(MRv1)

(2) CDH 4.2.0源代码下载:http://archive.cloudera.com/cdh4/cdh/4/

注意,CDH 4发行版中同时带有MRv1和MRv2(YARN),而只有MRv1中有JobTracker HA实现,但它依赖的库的源代码在MRv2中(MRv1中仅有jar包)。

(3) CDH 4.2.0 MRv2(YARN)源代码下载:

http://archive.cloudera.com/cdh4/cdh/4/hadoop-2.0.0-cdh4.2.0.tar.gz

(4) CDH 4.2.0 MRv1源代码下载:

http://archive.cloudera.com/cdh4/cdh/4/mr1-2.0.0-mr1-cdh4.2.0.tar.gz

原创文章,转载请注明: 转载自董的博客

本文链接地址: http://dongxicheng.org/mapreduce/cdh4-jobtracker-ha/

作者:Dong,作者介绍:http://dongxicheng.org/about/


Copyright © 2013
This feed is for personal, non-commercial use only.
The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:
)
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号