yarn
笔尖的痕
spark、hadoop,数据仓库,实时计算
展开
-
YARN/MRv2 Resource Manager深入剖析—AM管理
ApplictionMaster管理部分主要由三个服务构成,分别是AMLivelinessMonitor、ApplicationMasterLauncher和ApplicationMasterService,它们共同管理ApplicationMaster的生存周期,接下来我们依次介绍这三个服务。AMLivelinessMonitor该服务周期性遍历所有Application转载 2013-10-29 11:13:23 · 1152 阅读 · 0 评论 -
YARN/MRv2 ResourceManager代码分析
本文分析了Hadoop-0.23.0中一个Application从提交到运行结束的整个过程。期间涉及到Client,ResourceManage,NodeManager等组件以及RMClientProtocol,AMRMProtocol,ContainerManager等通信协议。【注】 本文的两个主要图片可能不够清晰,可以从这里下载。(上图参考了《Hadoop 0.2转载 2013-11-03 09:16:11 · 1251 阅读 · 0 评论 -
hadoop2.0 capacity调度器配置
集群同时运行的最大作业数yarn.scheduler.capacity.maximum-applications 100default 队列同时运行的最大作业数 yarn.scheduler.capacity.root.default.maximum-applications 10am 所占资源最大比例,用来控制同时运行的作业数yarn.sc转载 2013-11-03 09:17:28 · 1805 阅读 · 0 评论 -
Hadoop2的ResourceManager高可用配置
Hadoop 2.2没怎么关注过,太新,bug太多。2.4出来以后关注了一些东西,比如2.4里面直接带了ResourceManager的高可用,这点比较吸引人。之前2.2没注意有没有,貌似是没有,然后CDH自己出了一个解决方案,这次2.4的更新直接自己带了,还不错,这样就全了,Namenode有HA和Federation,RM也有了HA,而且也可以通过ZKFC自动做故障切换。大概从2.4开始,Ha转载 2014-09-08 03:26:00 · 3269 阅读 · 1 评论 -
Apache Spark探秘:多进程模型还是多线程模型?
Apache Spark的高性能一定程度上取决于它采用的异步并发模型(这里指server/driver端采用的模型),这与Hadoop 2.0(包括YARN和MapReduce)是一致的。Hadoop 2.0自己实现了类似Actor的异步并发模型,实现方式是epoll+状态机,而Apache Spark则直接采用了开源软件Akka,该软件实现了Actor模型,性能非常高。尽管二者在server转载 2014-11-12 14:19:12 · 1046 阅读 · 1 评论 -
Apache Twill—YARN上应用程序开发包
尽管YARN自带的编程API已经得到了极大的简化,但从头开发一个YARN应用程序仍是一件非常困难的事情。在YARN上编写一个应用程序,你需要开发Client和ApplicationMaster两个模块,并了解涉及到的几个协议的若干API和参数列表,其中ApplicationMaster还要负责资源申请,任务调度、容错等,总之,整个过程非常复杂。Apache Twill(官方首页:A转载 2014-11-17 23:01:28 · 1387 阅读 · 0 评论 -
Hadoop-2.2.0中文文档——MapReduce 下一代 -——集群配置
目的这份文档描述了如何安装、配置和管理从几个节点到有数千个节点的Hadoop集群。玩的话,你可能想先在单机上安装。(看单节点配置)。准备从Apache镜像上下载一个Hadoop的稳定版本。安装安装一个Hadoop集群,一般包括分发软件到所有集群中的机器上或者是安装RPMs。一般地,集群中的一台机器被唯一地设计成NameNode,另一台机器被设置成Reso转载 2014-11-18 01:48:02 · 766 阅读 · 0 评论 -
Hadoop-2.2.0中文文档—— Shell命令
FS Shell调用文件系统(FS)Shell命令应使用 bin/hadoop fs 的形式。 所有的的FS shell命令使用URI路径作为参数。URI格式是scheme://authority/path。对HDFS文件系统,scheme是hdfs,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认schem转载 2014-11-18 01:59:13 · 710 阅读 · 0 评论 -
Hadoop-2.2.0中文文档——MapReduce--写YARN应用
概念和流普遍的概念是一个 '一个应用提交客户端' 提交一个 '应用' 给 YARN资源管理器。客户端和服务端用 'ApplicationClientProtocol' 通信,若需要会首次通过ApplicationClientProtoco#getNewApplicationl获取一个新的 'ApplicationId' ,然后通过ApplicationClientProtocol#subm转载 2014-11-18 14:00:22 · 737 阅读 · 0 评论 -
Hadoop-2.2.0中文文档—— MapReduce 下一代--容量调度器
目的这份文档描述 CapacityScheduler,一个为Hadoop能允许多用户安全地共享一个大集群的插件式调度器,如他们的应用能适时被分配限制的容量。概述CapacityScheduler 被设计成以分享的、多用户集群运行 Hadoop 应用并最大化利用集群的机制。传统上,每一个组织都会有它自己的私有电脑资源,在顶峰或接近顶峰状态有充足的容量来面对组织的SLA转载 2014-11-18 14:53:29 · 669 阅读 · 0 评论 -
Hadoop-2.2.0中文文档—— Common - 超级用户模拟别的用户
简介此文档描述了一个超级用户如何在安全的方式下以另一用户的名义提交作业或访问hdfs。Use Case下一部分描述的的代码示例对此用户用例是可用的。一个用户名为'super'的超级用户想要以另一用户joe的名义提交作业或访问hdfs。超级用户有kerberos证书但是用户joe并没有。任务要求以用户joe的角色运行并且namenode上的文件访问也需要由joe完成。需要转载 2014-11-19 15:38:42 · 869 阅读 · 0 评论 -
TableExistsException: hbase:namespace
准备记录下我在学习和工作中遇到的hbase报错信息及解决方案。 描述:HMaster启动之后自动挂掉,并且master的log里出现“TableExistsException: hbase:namespace”字样,很可能是更换了Hbase的版本过后zookeeper还保留着上一次的Hbase设置,所以造成了冲突。 解决:zookeeper还保留着上一次的Hbase转载 2014-11-02 14:54:04 · 2602 阅读 · 0 评论 -
Hadoop-2.2.0中文文档—— Common - CLI MiniCluster
目的使用 CLI MiniCluster, 用户可以简单地只用一个命令就启动或关闭一个单一节点的Hadoop集群,不需要设置任何环境变量或管理配置文件。 CLI MiniCluster 同时启动一个 YARN/MapReduce 和 HDFS 集群。这对那些想要快速体验一个真实的Hadoop集群或是测试依赖明显的Hadoop函数的非Java程序 的用户很有用。Hadoop转载 2014-11-19 11:55:18 · 738 阅读 · 0 评论 -
Hadoop-2.2.0中文文档—— Common - 服务层认证
目的此文档描述了如何为Hadoop配置和管理 Service Level Authorization 。预备条件确保已经安装Hadoop,配置和设置都正确了。更多细节,请看:* 首次使用者的单节点设置 * 大的、分布式集群的集群设置。概览Service Level Authorization 是一个必要的初始认证机制,其确保客户端连接到一个有必要的、预配转载 2014-11-19 15:50:35 · 733 阅读 · 0 评论 -
Hadoop-2.2.0中文文档—— MapReduce下一代- 可插入的 Shuffle 和 Sort
简介可插入的 shuffle 和 sort 功能,允许在shuffle 和 sort 逻辑中用可选择的实现类替换。这个情况的例子是:用一个不是HTTP的应用协议,如RDMA来 shuffle 从Map节点中到Reducer节点的数据;或者用自定义的允许 Hash聚合和Limit-N查询的算法来代替sort逻辑。重要: 可插入的 shuffle sort 功能是实验性的、不稳定。这意味着提转载 2014-11-19 11:50:07 · 829 阅读 · 0 评论 -
Hadoop-2.2.0中文文档—— MapReduce 下一代 - Encrypted Shuffle
简介 Encrypted Shuffle capability (加密洗牌功能?)允许用HTTPS 和 可选的客户端验证 (也称作双向的 HTTPS, 或有客户端证书的 HTTPS) 去加密 MapReduce shuffle.它包括:在HTTP 和 HTTPS 之间绑定 shuffle 的一个 Hadoop 配置用来指定 keystore 和 truststore 属性的Hado转载 2014-11-19 11:34:16 · 866 阅读 · 0 评论 -
统一资源管理与调度平台(系统)介绍
1. 背景随着互联网的高速发展,基于数据密集型应用的计算框架不断出现,从支持离线处理的MapReduce,到支持在线处理的Storm,从迭代式计算框架Spark到流式处理框架S4,…,各种框架诞生于不同的公司或者实验室,它们各有所长,各自解决了某一类应用问题。而在大部分互联网公司中,这几种框架可能都会采用,比如对于搜索引擎公司,可能的技术方案如下:网页建索引采用MapReduce框架,自然转载 2013-11-03 09:15:05 · 3682 阅读 · 0 评论 -
YARN/MRv2 Node Manager深入剖析—整体架构
NodeManager(NM)是YARN中每个节点上的代理,它管理Hadoop集群中单个计算节点,包括与ResourceManger保持通信,监督Container的生命周期管理,监控每个Container的资源使用(内存、CPU等)情况,追踪节点健康状况,管理日志和不同应用程序用到的附属服务(auxiliary service)。【NodeStatusUpdater】当N转载 2013-11-03 09:13:50 · 947 阅读 · 0 评论 -
YARN/MRv2 Resource Manager深入剖析—服务与事件处理器
ResourceManager中的对象均被封装成服务和事件处理器,其中,封装成服务是为了统一管理,而所有事件处理器处理来自中央总调度器分配的事件,总调度器将各个服务发送出来的事件按照事件类型分配给对应的事件处理器,如此循环,构成了ResourceManager的整体架构。(1)RM中的服务YARN采用了服务模型,它将各种对象服务化,以便于统一管理(统一启动、关闭等)。YARN中将服转载 2013-10-29 11:16:09 · 714 阅读 · 0 评论 -
YARN/MRv2 MRAppMaster深入剖析—作业恢复
在MRAppMaster中,记录日志是由服务JobHistoryEventHandler完成的,而作业恢复是由服务RecoveryService完成的。同MRv1一样,MRv2也会对一些关键的事件记录日志,这主要有两个作用:(1)方便用户查看历史作业运行信息 (2)作业因故障重新启动后,可根据日志信息恢复之前已经运行完成的任务,以减少重新计算代价。MRAppMaster采用的日志格转载 2013-10-29 11:24:09 · 962 阅读 · 0 评论 -
YARN/MRv2 MRAppMaster深入剖析—推测执行机制
1. 背景推测执行(Speculative Execution)是指在分布式集群环境下,因为程序BUG,负载不均衡或者资源分布不均等原因,造成同一个job的多个task运行速度不一致,有的task运行速度明显慢于其他task(比如:一个job的某个task进度只有10%,而其他所有task已经运行完毕),则这些task拖慢了作业的整体执行进度,为了避免这种情况发生,Hadoop会为该tas转载 2013-10-29 11:25:16 · 1007 阅读 · 0 评论 -
YARN/MRv2 MRAppMaster深入剖析—作业生命周期
本节分析一个作业从开始运行到运行结束,所经历的整个过程,期间涉及到的各种事件和状态变化。在正式讲解作业生命周期之前,先要了解MRAppMaster中作业表示方式,每个作业由若干干Map Task和Reduce Task组成,每个Task进一步由若干个TaskAttempt组成,Job、Task和TaskAttempt的生命周期均由一个状态机表示,具体可参考https://issues.ap转载 2013-10-29 11:28:04 · 904 阅读 · 0 评论 -
如何编写YARN应用程序
1. 概述YARN是一个资源管理系统,负责集群资源的管理和分配。如果想要将一个新的应用程序运行在YARN之上,通常需要编写两个组件:客户端和ApplicationMaster。由于这两个组件编写非常复杂,尤其ApplicationMaster,需要考虑RPC调用、任务容错等细节,所以,往往由专业的开发人员编写这两个组件,并提供给上层的应用程序用户使用。如果大量应用程序可抽象成一种通转载 2013-10-29 11:30:18 · 1125 阅读 · 0 评论 -
YARN/MRv2 Node Manager深入剖析—节点健康状况检测
概述节点健康状况检测是YARN为每个NodeManager提供的机制,通过该机制,NodeManager可通过心跳机制将节点健康状况实时汇报给ResourceManager,而ResourceManager则会根据每个NodeManager的健康状况适当调整分配的任务数目。当NodeManager认为自己的健康状况“欠佳”时,可让ResourceManager不再分配任务,待健康状况好转时转载 2013-10-29 11:09:59 · 1492 阅读 · 0 评论 -
CDH4.1(hadoop-2.0.0-cdh4.1.2)安装部署文档
http://blog.csdn.net/caodaoxi/article/details/8964347转载 2013-10-29 11:05:28 · 947 阅读 · 0 评论 -
YARN/MRv2 Resource Manager深入剖析—用户交互相关模块分析
YARN分别针对普通用户,管理员和Web提供了三种对外服务,分别对应ClientRMService、AdminService和WebApp,本节将对这三个服务分别进行详细介绍。1. ClientRMServiceClientRMService是为普通用户提供的服务,它会处理来自客户端各种RPC请求,比如提交应用程序、终止应用程序,获取应用程序运行状态等。ClientRMSe转载 2013-10-29 11:17:41 · 805 阅读 · 0 评论 -
YARN/MRv2 Resource Manager深入剖析—RM总体架构
在YARN中,ResourceManager负责集群中所有资源的统一管理和分配,它接收来自各个节点(NodeManager)的资源汇报信息,并把这些信息按照一定的策略分配给各个应用程序(实际上是ApplicationManager)。ResourceManager主要由以下几个部分组成:用户交互YARN分别针对普通用户,管理员和Web提供了三种对外服务,分别转载 2013-10-29 11:21:28 · 1090 阅读 · 0 评论 -
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-29 11:23:18 · 1111 阅读 · 0 评论 -
YARN/MRv2 MRAppMaster深入剖析—ContainerLauncher分析
ContainerLauncher负责与NodeManager通信,以启动一个container。在YARN中,运行Task所需的全部信息被封装到Container中,包括所需资源、依赖的外部文件、jar包、运行时环境变量、运行命令等。ContainerLauncher通过ContainerManager协议与NodeManager通信,该协议定义了三个RPC接口,具体如下:StartCo转载 2013-10-29 11:26:20 · 711 阅读 · 0 评论 -
YARN/MRv2 MRAppMaster深入剖析—ContainerAllocator分析
1. ContainerAllocator概述ContainerAllocator负责与ResourceManager通信,为作业申请资源。作业的每个任务资源需求可描述为四元组,分别表示作业优先级、期望资源所在的host,资源量(当前仅支持内存),container数目,比如://优先级是一个正整数,优先级值越小,优先级越高 //*表示这样的资源可来自任意一个节点,即不考虑转载 2013-10-29 11:27:04 · 1007 阅读 · 0 评论 -
YARN编程实例—distributedshell源码分析
1. 概述本文介绍YARN自带的一个非常简单的应用程序编程实例—distributedshell,他可以看做YARN编程中的“hello world”,它的主要功能是并行执行用户提供的shell命令或者shell脚本。本文主要介绍distributedshell 的实现方法。Distributedshell的源代码在文件夹src\hadoop-yarn-project转载 2013-10-29 11:29:29 · 1191 阅读 · 0 评论 -
hadoop 2.2.0 源码编译笔记
apache 官方发布的hadoop 2.2.0中只包含了32bit版本,多数生产环境中使用的是64bit的环境,需要64bit的hadoop2.2,则必须自己编译。本文记录在编译过程中遇到的一些问题和相应的解决办法。1. 系统环境编译安装之前,请检查系统的环境。开始的时候,我在一台比较老的机器上编译,遇到了一个奇怪的错误,"no such instruction: `crc32*转载 2013-11-03 09:06:25 · 1095 阅读 · 0 评论 -
YARNMRv2 Node Manager深入剖析—NodeManager启动Container流程分析
1. 介绍NodeManager的一个最重要的功能是根据ApplicationMaster的要求启动container,由于各个节点上的container由ResourceManager进行统一管理和分配的,通常,ResourceManager将Container分配给ApplicationMaster,ApplicationMaster再进一步要求对应的NodeManager启动contai转载 2013-11-03 09:11:35 · 2062 阅读 · 0 评论 -
YARN/MRv2 中基本术语介绍
YARN/MRv2是下一代MapReduce框架(见Hadoop-0.23.0),该框架完全不同于当前的MapReduce框架,它在扩展性,容错性和通用性等方面更出色,据统计,Yarn有超过150000行代码,完全是重写编写的。本文介绍了YARN/MRv2中基本术语的含义,帮助有兴趣的程序员们对YARN有一个初步的理解。(1) YARN下一代MapReduce框架的名称,为转载 2014-10-17 10:46:42 · 1217 阅读 · 0 评论