- 博客(48)
- 资源 (7)
- 收藏
- 关注
原创 hadoop lzo
1.安装LZOsudo apt-get install liblzo2-dev或者下载lzo2[http://www.oberhumer.com/opensource/lzo/download/].wget [http://www.oberhumer.com/opensource/lzo/download/lzo-2.06.tar.gz]./configure \--en...
2013-10-28 18:34:04 239
转载 YARN/MRv2 Node Manager深入剖析—节点健康状况检测
概述节点健康状况检测是YARN为每个NodeManager提供的机制,通过该机制,NodeManager可通过心跳机制将节点健康状况实时汇报给ResourceManager,而ResourceManager则会根据每个NodeManager的健康状况适当调整分配的任务数目。当NodeManager认为自己的健康状况“欠佳”时,可让ResourceManager不再分配任务,待健康状况好转时,再
2013-10-23 15:13:49 1056
YARN/MRv2 Node Manager深入剖析—节点健康状况检测
概述节点健康状况检测是YARN为每个NodeManager提供的机制,通过该机制,NodeManager可通过心跳机制将节点健康状况实时汇报给ResourceManager,而ResourceManager则会根据每个NodeManager的健康状况适当调整分配的任务数目。当NodeManager认为自己的健康状况“欠佳”时,可让ResourceManager不再分配任务,待健康状况好转时,再...
2013-10-23 15:13:00 281
转载 YARN/MRv2 Resource Manager深入剖析—AM管理
ApplictionMaster管理部分主要由三个服务构成,分别是AMLivelinessMonitor、ApplicationMasterLauncher和ApplicationMasterService,它们共同管理ApplicationMaster的生存周期,接下来我们依次介绍这三个服务。AMLivelinessMonitor该服务周期性遍历所有ApplicationMaster
2013-10-23 15:12:53 701
转载 YARN/MRv2 Resource Manager深入剖析—服务与事件处理器
ResourceManager中的对象均被封装成服务和事件处理器,其中,封装成服务是为了统一管理,而所有事件处理器处理来自中央总调度器分配的事件,总调度器将各个服务发送出来的事件按照事件类型分配给对应的事件处理器,如此循环,构成了ResourceManager的整体架构。(1)RM中的服务YARN采用了服务模型,它将各种对象服务化,以便于统一管理(统一启动、关闭等)。YARN中将服务分为两
2013-10-23 15:09:45 632
YARN/MRv2 Resource Manager深入剖析—服务与事件处理器
ResourceManager中的对象均被封装成服务和事件处理器,其中,封装成服务是为了统一管理,而所有事件处理器处理来自中央总调度器分配的事件,总调度器将各个服务发送出来的事件按照事件类型分配给对应的事件处理器,如此循环,构成了ResourceManager的整体架构。(1)RM中的服务YARN采用了服务模型,它将各种对象服务化,以便于统一管理(统一启动、关闭等)。YARN中将服务分为两...
2013-10-23 15:09:00 162
转载 YARN/MRv2 Resource Manager深入剖析—用户交互相关模块分析
YARN分别针对普通用户,管理员和Web提供了三种对外服务,分别对应ClientRMService、AdminService和WebApp,本节将对这三个服务分别进行详细介绍。1. ClientRMServiceClientRMService是为普通用户提供的服务,它会处理来自客户端各种RPC请求,比如提交应用程序、终止应用程序,获取应用程序运行状态等。ClientRMServic
2013-10-23 15:08:45 678
YARN/MRv2 Resource Manager深入剖析—用户交互相关模块分析
YARN分别针对普通用户,管理员和Web提供了三种对外服务,分别对应ClientRMService、AdminService和WebApp,本节将对这三个服务分别进行详细介绍。1. ClientRMServiceClientRMService是为普通用户提供的服务,它会处理来自客户端各种RPC请求,比如提交应用程序、终止应用程序,获取应用程序运行状态等。ClientRMService实现了...
2013-10-23 15:08:00 158
转载 YARN/MRv2 Resource Manager深入剖析—RM总体架构
在YARN中,ResourceManager负责集群中所有资源的统一管理和分配,它接收来自各个节点(NodeManager)的资源汇报信息,并把这些信息按照一定的策略分配给各个应用程序(实际上是ApplicationManager)。ResourceManager主要由以下几个部分组成:用户交互YARN分别针对普通用户,管理员和Web提供了三种对外服务,分别对应ClientRM
2013-10-23 15:07:51 664
YARN/MRv2 Resource Manager深入剖析—RM总体架构
在YARN中,ResourceManager负责集群中所有资源的统一管理和分配,它接收来自各个节点(NodeManager)的资源汇报信息,并把这些信息按照一定的策略分配给各个应用程序(实际上是ApplicationManager)。ResourceManager主要由以下几个部分组成:用户交互YARN分别针对普通用户,管理员和Web提供了三种对外服务,分别对应ClientRM...
2013-10-23 15:07:00 295
转载 YARN/MRv2 RPC框架深入剖析—引入Protocal Buffer的好处
Hadoop2.0中已经将Protocol buffer(以面简称PB ,http://code.google.com/p/protobuf/ )作为默认的序列化/反序列化框架,原来的自己实现的基于Writable的方式已经被淘汰了。来自Cloudera的Aaron T. Myers在邮件中这样说的“since PB can provide support for evolving proto
2013-10-23 15:06:59 743
YARN/MRv2 RPC框架深入剖析—引入Protocal Buffer的好处
Hadoop2.0中已经将Protocol buffer(以面简称PB ,http://code.google.com/p/protobuf/ )作为默认的序列化/反序列化框架,原来的自己实现的基于Writable的方式已经被淘汰了。来自Cloudera的Aaron T. Myers在邮件中这样说的“since PB can provide support for evolving proto...
2013-10-23 15:06:00 139
转载 YARN/MRv2 MRAppMaster深入剖析—作业恢复
在MRAppMaster中,记录日志是由服务JobHistoryEventHandler完成的,而作业恢复是由服务RecoveryService完成的。同MRv1一样,MRv2也会对一些关键的事件记录日志,这主要有两个作用:(1)方便用户查看历史作业运行信息 (2)作业因故障重新启动后,可根据日志信息恢复之前已经运行完成的任务,以减少重新计算代价。MRAppMaster采用的日志格式与MR
2013-10-23 15:03:05 837
YARN/MRv2 MRAppMaster深入剖析—作业恢复
在MRAppMaster中,记录日志是由服务JobHistoryEventHandler完成的,而作业恢复是由服务RecoveryService完成的。同MRv1一样,MRv2也会对一些关键的事件记录日志,这主要有两个作用:(1)方便用户查看历史作业运行信息 (2)作业因故障重新启动后,可根据日志信息恢复之前已经运行完成的任务,以减少重新计算代价。MRAppMaster采用的日志格式与MR...
2013-10-23 15:03:00 132
转载 YARN/MRv2 MRAppMaster深入剖析—推测执行机制
1. 背景推测执行(Speculative Execution)是指在分布式集群环境下,因为程序BUG,负载不均衡或者资源分布不均等原因,造成同一个job的多个task运行速度不一致,有的task运行速度明显慢于其他task(比如:一个job的某个task进度只有10%,而其他所有task已经运行完毕),则这些task拖慢了作业的整体执行进度,为了避免这种情况发生,Hadoop会为该task启
2013-10-23 15:01:49 853
YARN/MRv2 MRAppMaster深入剖析—推测执行机制
1. 背景推测执行(Speculative Execution)是指在分布式集群环境下,因为程序BUG,负载不均衡或者资源分布不均等原因,造成同一个job的多个task运行速度不一致,有的task运行速度明显慢于其他task(比如:一个job的某个task进度只有10%,而其他所有task已经运行完毕),则这些task拖慢了作业的整体执行进度,为了避免这种情况发生,Hadoop会为该task启...
2013-10-23 15:01:00 208
转载 YARN/MRv2 MRAppMaster深入剖析—ContainerLauncher分析
ContainerLauncher负责与NodeManager通信,以启动一个container。在YARN中,运行Task所需的全部信息被封装到Container中,包括所需资源、依赖的外部文件、jar包、运行时环境变量、运行命令等。ContainerLauncher通过ContainerManager协议与NodeManager通信,该协议定义了三个RPC接口,具体如下:StartCo
2013-10-23 15:00:40 762
YARN/MRv2 MRAppMaster深入剖析—ContainerLauncher分析
ContainerLauncher负责与NodeManager通信,以启动一个container。在YARN中,运行Task所需的全部信息被封装到Container中,包括所需资源、依赖的外部文件、jar包、运行时环境变量、运行命令等。ContainerLauncher通过ContainerManager协议与NodeManager通信,该协议定义了三个RPC接口,具体如下:StartCo...
2013-10-23 15:00:00 149
转载 YARN/MRv2 MRAppMaster深入剖析—ContainerAllocator分析
1. ContainerAllocator概述ContainerAllocator负责与ResourceManager通信,为作业申请资源。作业的每个任务资源需求可描述为四元组,分别表示作业优先级、期望资源所在的host,资源量(当前仅支持内存),container数目,比如://优先级是一个正整数,优先级值越小,优先级越高 //*表示这样的资源可来自任意一个节点,即不考虑数据
2013-10-23 14:57:45 866
YARN/MRv2 MRAppMaster深入剖析—ContainerAllocator分析
1. ContainerAllocator概述ContainerAllocator负责与ResourceManager通信,为作业申请资源。作业的每个任务资源需求可描述为四元组<Priority, hostname,capability,containers>,分别表示作业优先级、期望资源所在的host,资源量(当前仅支持内存),container数目,比如:<10,...
2013-10-23 14:57:00 195
转载 YARN/MRv2 MRAppMaster深入剖析—作业生命周期
本节分析一个作业从开始运行到运行结束,所经历的整个过程,期间涉及到的各种事件和状态变化。在正式讲解作业生命周期之前,先要了解MRAppMaster中作业表示方式,每个作业由若干干Map Task和Reduce Task组成,每个Task进一步由若干个TaskAttempt组成,Job、Task和TaskAttempt的生命周期均由一个状态机表示,具体可参考https://issues.apac
2013-10-23 14:56:32 800
YARN/MRv2 MRAppMaster深入剖析—作业生命周期
本节分析一个作业从开始运行到运行结束,所经历的整个过程,期间涉及到的各种事件和状态变化。在正式讲解作业生命周期之前,先要了解MRAppMaster中作业表示方式,每个作业由若干干Map Task和Reduce Task组成,每个Task进一步由若干个TaskAttempt组成,Job、Task和TaskAttempt的生命周期均由一个状态机表示,具体可参考https://issues.apac...
2013-10-23 14:56:00 162
转载 YARN/MRv2 MRAppMaster深入剖析—整体架构
MRAppMaster是MapReduce的ApplicationMaster实现,它使得MapReduce计算框架可以运行于YARN之上。在YARN中,MRAppMaster负责管理MapReduce作业的生命周期,包括创建MapReduce作业,向ResourceManager申请资源,与NodeManage通信要求其启动Container,监控作业的运行状态,当任务失败时重新启动任务等。
2013-10-23 14:55:15 937
YARN/MRv2 MRAppMaster深入剖析—整体架构
MRAppMaster是MapReduce的ApplicationMaster实现,它使得MapReduce计算框架可以运行于YARN之上。在YARN中,MRAppMaster负责管理MapReduce作业的生命周期,包括创建MapReduce作业,向ResourceManager申请资源,与NodeManage通信要求其启动Container,监控作业的运行状态,当任务失败时重新启动任务等。...
2013-10-23 14:55:00 201
转载 YARN/MRv2 MRAppMaster深入剖析—概述
1. 什么是MRAppMaster?我们知道,在MRv1中,JobTracker存在诸多问题,包括存在单点故障,扩展受限等,为了解决这些问题,Apache对MRv1进行了改进,提出了YARN,YARN将JobTracker中的作业控制和资源管理两个功能分开,分别由两个不同的进程处理,进而解决了原有JobTracker存在的问题。经过架构调整之后,YARN已经完全不同于MRv1,它已经变成了一个
2013-10-23 14:53:52 887
YARN/MRv2 MRAppMaster深入剖析—概述
1.什么是MRAppMaster?我们知道,在MRv1中,JobTracker存在诸多问题,包括存在单点故障,扩展受限等,为了解决这些问题,Apache对MRv1进行了改进,提出了YARN,YARN将JobTracker中的作业控制和资源管理两个功能分开,分别由两个不同的进程处理,进而解决了原有JobTracker存在的问题。经过架构调整之后,YARN已经完全不同于MRv1,它已经变成了一个资...
2013-10-23 14:53:00 281
转载 YARN编程实例—distributedshell源码分析
1. 概述本文介绍YARN自带的一个非常简单的应用程序编程实例—distributedshell,他可以看做YARN编程中的“hello world”,它的主要功能是并行执行用户提供的shell命令或者shell脚本。本文主要介绍distributedshell 的实现方法。Distributedshell的源代码在文件夹src\hadoop-yarn-project\hadoo
2013-10-23 14:52:16 1037
YARN编程实例—distributedshell源码分析
1. 概述本文介绍YARN自带的一个非常简单的应用程序编程实例—distributedshell,他可以看做YARN编程中的“hello world”,它的主要功能是并行执行用户提供的shell命令或者shell脚本。本文主要介绍distributedshell 的实现方法。Distributedshell的源代码在文件夹src\hadoop-yarn-project\hadoop-y...
2013-10-23 14:52:00 258
转载 如何编写YARN应用程序
1. 概述YARN是一个资源管理系统,负责集群资源的管理和分配。如果想要将一个新的应用程序运行在YARN之上,通常需要编写两个组件:客户端和ApplicationMaster。由于这两个组件编写非常复杂,尤其ApplicationMaster,需要考虑RPC调用、任务容错等细节,所以,往往由专业的开发人员编写这两个组件,并提供给上层的应用程序用户使用。如果大量应用程序可抽象成一种通用框
2013-10-23 14:50:41 715
如何编写YARN应用程序
1. 概述YARN是一个资源管理系统,负责集群资源的管理和分配。如果想要将一个新的应用程序运行在YARN之上,通常需要编写两个组件:客户端和ApplicationMaster。由于这两个组件编写非常复杂,尤其ApplicationMaster,需要考虑RPC调用、任务容错等细节,所以,往往由专业的开发人员编写这两个组件,并提供给上层的应用程序用户使用。如果大量应用程序可抽象成一种通用框架,那么...
2013-10-23 14:50:00 192
转载 Hadoop版本选择探讨
由于Hadoop版本混乱多变,因此,Hadoop的版本选择问题一直令很多初级用户苦恼。本文总结了Apache Hadoop和Cloudera Hadoop的版本衍化过程,并给出了选择Hadoop版本的一些建议。1. Apache Hadoop1.1 Apache版本衍化截至目前(2012年12月23日),Apache Hadoop版本分为两代,我们将第一代Hadoop称为Hado
2013-10-23 14:48:11 637
Hadoop版本选择探讨
由于Hadoop版本混乱多变,因此,Hadoop的版本选择问题一直令很多初级用户苦恼。本文总结了Apache Hadoop和Cloudera Hadoop的版本衍化过程,并给出了选择Hadoop版本的一些建议。1.Apache Hadoop1.1Apache版本衍化截至目前(2012年12月23日),Apache Hadoop版本分为两代,我们将第一代Hadoop称为Hadoop ...
2013-10-23 14:48:00 438
转载 YARNMRv2 Node Manager深入剖析—NodeManager启动Container流程分析
1. 介绍NodeManager的一个最重要的功能是根据ApplicationMaster的要求启动container,由于各个节点上的container由ResourceManager进行统一管理和分配的,通常,ResourceManager将Container分配给ApplicationMaster,ApplicationMaster再进一步要求对应的NodeManager启动contai
2013-10-23 14:46:17 689
转载 YARN/MRv2 Node Manager深入剖析—整体架构
NodeManager(NM)是YARN中每个节点上的代理,它管理Hadoop集群中单个计算节点,包括与ResourceManger保持通信,监督Container的生命周期管理,监控每个Container的资源使用(内存、CPU等)情况,追踪节点健康状况,管理日志和不同应用程序用到的附属服务(auxiliary service)。【NodeStatusUpdater】当NM启动时,该
2013-10-23 14:45:01 661
YARN/MRv2 Node Manager深入剖析—整体架构
NodeManager(NM)是YARN中每个节点上的代理,它管理Hadoop集群中单个计算节点,包括与ResourceManger保持通信,监督Container的生命周期管理,监控每个Container的资源使用(内存、CPU等)情况,追踪节点健康状况,管理日志和不同应用程序用到的附属服务(auxiliary service)。【NodeStatusUpdater】当NM启动时,该...
2013-10-23 14:45:00 153
转载 统一资源管理与调度平台(系统)介绍
1. 背景随着互联网的高速发展,基于数据密集型应用的计算框架不断出现,从支持离线处理的MapReduce,到支持在线处理的Storm,从迭代式计算框架Spark到流式处理框架S4,…,各种框架诞生于不同的公司或者实验室,它们各有所长,各自解决了某一类应用问题。而在大部分互联网公司中,这几种框架可能都会采用,比如对于搜索引擎公司,可能的技术方案如下:网页建索引采用MapReduce框架,自然语言
2013-10-23 14:42:51 1076
统一资源管理与调度平台(系统)介绍
1.背景随着互联网的高速发展,基于数据密集型应用的计算框架不断出现,从支持离线处理的MapReduce,到支持在线处理的Storm,从迭代式计算框架Spark到流式处理框架S4,…,各种框架诞生于不同的公司或者实验室,它们各有所长,各自解决了某一类应用问题。而在大部分互联网公司中,这几种框架可能都会采用,比如对于搜索引擎公司,可能的技术方案如下:网页建索引采用MapReduce框架,自然语言处...
2013-10-23 14:42:00 322
转载 YARN/MRv2 ResourceManager代码分析
本文分析了Hadoop-0.23.0中一个Application从提交到运行结束的整个过程。期间涉及到Client,ResourceManage,NodeManager等组件以及RMClientProtocol,AMRMProtocol,ContainerManager等通信协议。【注】 本文的两个主要图片可能不够清晰,可以从这里下载。(上图参考了《Hadoop 0.23 MRv2
2013-10-23 14:39:41 1204
YARN/MRv2 ResourceManager代码分析
本文分析了Hadoop-0.23.0中一个Application从提交到运行结束的整个过程。期间涉及到Client,ResourceManage,NodeManager等组件以及RMClientProtocol,AMRMProtocol,ContainerManager等通信协议。【注】 本文的两个主要图片可能不够清晰,可以从这里下载。(上图参考了《Hadoop 0.23 MRv2...
2013-10-23 14:39:00 106
原创 YARN/MRv2 ResourceManager代码结构分析
ResourceManager相当于整个系统的master,主要功能是启动application的ApplicationMaster和分配系统资源。 ResourceManager的核心代码在java包 org.apache.hadoop.yarn.server.resourcemanager中的ResourceManager类中,主要涉及到三种 对象:事件处理器,RPC服务和普通服务,...
2013-10-23 14:32:22 122
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人