`
文章列表
1. 概述 YARN是一个资源管理系统,负责集群资源的管理和分配。如果想要将一个新的应用程序运行在YARN之上,通常需要编写两个组件:客户端和ApplicationMaster。由于这两个组件编写非常复杂,尤其ApplicationMaster,需要考虑RPC调用 ...
由于Hadoop版本混乱多变,因此,Hadoop的版本选择问题一直令很多初级用户苦恼。本文总结了Apache Hadoop和Cloudera Hadoop的版本衍化过程,并给出了选择Hadoop版本的一些建议。 1.Apache Hadoop 1.1Apache版本衍化 截至目前(2012年12月23日),Apache Hadoop版本分为两代,我们将第一代Hadoop称为Hadoop 1.0,第二代Hadoop称为Hadoop 2.0。第一代Hadoop包含三个大版本,分别是0.20.x,0.21.x和0.22.x,其中,0.20.x最后演化成1.0.x,变成了稳定版,而0.21.x ...
NodeManager(NM)是YARN中每个节点上的代理,它管理Hadoop集群中单个计算节点,包括与ResourceManger保持通信,监督Container的生命周期管理,监控每个Container的资源使用(内存、CPU等)情况,追踪节点健康状况,管理日志和不同应用程序用到的附属服务(auxiliary service)。 【NodeStatusUpdater】 当NM启动时,该组件向RM注册,并发送节点上可用资源。接下来,NM与RM通信,汇报各个Container的状态更新,包括节点上正运行的Container、已完成的Contaner等。 此外,RM可能向NodeStat ...
1.背景 随着互联网的高速发展,基于数据密集型应用的计算框架不断出现,从支持离线处理的MapReduce,到支持在线处理的Storm,从迭代式计算框架Spark到流式处理框架S4,…,各种框架诞生于不同的公司或者实验室,它们各有所长,各自解决了某一类应用问题。而在大部分互联网公司中,这几种框架可能都会采用,比如对于搜索引擎公司,可能的技术方案如下:网页建索引采用MapReduce框架,自然语言处理/数据挖掘采用Spark(网页PageRank计算,聚类分类算法等,【注】Spark现在不太成熟,很少有公司尝试使用),对性能要求很高的数据挖掘算法用MPI等。考虑到资源利用率,运维成本,数据共享等因 ...
本文分析了Hadoop-0.23.0中一个Application从提交到运行结束的整个过程。期间涉及到Client,ResourceManage,NodeManager等组件以及RMClientProtocol,AMRMProtocol,ContainerManager等通信协议。 【注】 本文的两个主要图片可能不够清晰,可以从这 ...
ResourceManager相当于整个系统的master,主要功能是启动application的ApplicationMaster和分配系统资源。   ResourceManager的核心代码在java包 org.apache.hadoop.yarn.server.resourcemanager中的ResourceManager类中,主要涉及到三种 对象:事件处理器,RPC服务和普通服务,其中事件处理器实现EventHandler接口,并被注册到统一的事件调度器AsyncDispatcher 中,由该调度器进行统一管理和调度: …… private EventHandler<S ...
1.  写在前面 正如前几篇文章所述,YARN/MRv2是一个资源统一管理系统,它上面可以运行各种计算框架,而所有计算框架的client端编写方法类似,本文拟以MapReduce计算框架的client端代码为例进行说明。 2.  两个相关协议 需要通过两个协议提交作业: ClientProtocol:Hadoop中的JobClient通过该协议向JobTracker提交作业 ClientRMProtocol:Yarn中的client通过该协议向ResourceManager提交作业。 3. Client设计方法 为了使Hadoop MapReduce无缝迁移到Yarn中,需要在c ...
Hadoop 0.23.0是一个通用的资源分配框架,它不仅支持MapReduce计算框架,同时也支持流式计算框架,迭代计算框架,MPI等。它实现时采用基于了事件驱动机制,异步编程模型,如下图所示:   该图片来自《Hadoop 0.23 MRv2分析》 EventHandler被称作事件处理器, 每种事件类型对应一种EventHandler,其对事件的处理过程通过状态机来描述,handler 接收到一个事件后,使处理对象当前状态跳转到另外一个状态,同时触发一个动作。 (1)状态机 每个对象被建模成有限状态机,如: • RM:Application,ApplicationAttemp ...
背景   随着集群规模和负载增加,MapReduce JobTracker在内存消耗,线程模型和扩展性/可靠性/性能方面暴露出了缺点,为此需要对它进行大整修。 需求 当我们对Hadoop MapReduce框架进行改进时,需要时刻谨记的一个重要原则是用 ...
YARN/MRv2是下一代MapReduce框架(见Hadoop-0.23.0),该框架完全不同于当前的MapReduce框架,它在扩展性,容错性和通用性等方面更出色,据统计,Yarn有超过150000行代码,完全是重写编写的。本文介绍了YARN/MRv2中基本术语的含义,帮助 ...
转自:http://yangshangchuan.iteye.com/blog/1961059   search-demo托管于github   search-demo演示了如何利用Java来调用百度搜索和谷歌搜索,更多细节请到github上查看search-demo   自己没搜索引擎,又想要大规模的数据源,怎么办?可以对百度搜索和谷歌搜索善加利用,以小搏大,站在巨人的肩膀上。有很多的应用场景可以很巧妙地借助百度搜索和谷歌搜索来实现,比如网站的新闻采集,比如技术、品牌的新闻跟踪,比如知识库的收集,比如人机问答系统等,我之前做的一个准确率达百分之九十几的人机问答系统的数据源,其中一 ...
elasticsearch provides a full Java query dsl in a similar manner to the REST Query DSL. The factory for query builders is QueryBuilders. Once your query is ready, you can use the Search API. See also how to build Filters To use QueryBuilders just import them in your class: import org.elasticsearc ...

走出类加载器迷宫

    博客分类:
  • j2se
这是前几天在看类加载器机制时搜到的一篇旧文,网上搜了搜相应的中文资料,感觉很多意思没有翻译出来,这两天我试着自己翻译了一下,供同道参考。英文文章地址:Find a way out of the ClassLoader maze     走出类加载器迷宫(本人翻译,转载请注明出处)   系统类加载器, 当前类加载器, 上下文类加载器? 你应该用哪一个? By Vladimir Roubtsov, JavaWorld.com, 06/06/03 June 6, 2003 Q:我该什么时候用Thread.getContextClassLoader()? A:这个问题虽 ...
脚本 first (测试示例1) 代码: #!/bin/bashecho 'your are in first file' 问) 在当前脚本文件中调用另外一个脚本文件?方法一: 使用source 脚本 second (测试示例2)代码: #!/bin/bashecho 'your are in second file'source first 方法二: 使用.脚本 second (测试示例3)代码: #!/bin/bashecho 'your are in second file'. first _________________
淘宝广告定向介绍:http://v.csdn.hudong.com/open/view/detail/97-SDCC2012-taobao-UIT 携程zookeeper使用场景介绍:http://v.csdn.hudong.com/open/view/detail/83-SDCC2012-ctrip-ZooKeeper HBase系统故障恢复的优化实践分享:http://v.csdn.hudong.com/open/view/detail/62-Alipay-HBase
Global site tag (gtag.js) - Google Analytics