- 博客(26)
- 收藏
- 关注
转载 Hadoop源码解析之动态调整MapTask的内存资源大小
1.前言我们都知道,在Hadoop中,一个Job的执行需要转化成1个个的Task去执行,在Task中,有会有2个类型,一个为Map Task,另一个就是Reduce Task.当然,这不是最底层的级别,在Task内部,还可以再分为TaskAttempt,叫做任务尝试,任务尝试姑且不在本篇文章的论述范围内.OK,针对每个Task,他当然会有他的资源使用量,广义的来讲,资源分为2个概念,1
2017-04-23 23:10:39 862
原创 Hadoop源码解析之申请与分配Container
本文从源码方面介绍应用程序的AM在NM上成功启动并向RM注册后,向RM请求资源(Container)到获取资源的整个过程,以及RM内部涉及的主要工作流程。整个过程可看做以下两个阶段的迭代循环:阶段1:AM汇报资源需求并领取已经分配到的资源。阶段2:NM向RM汇报各个Container的运行状态,如果RM发现它上面有空闲的资源,则进行一次资源分配,并将分配的资源保存到对应的数据结构中
2017-04-01 23:57:36 2394 3
原创 Hadoop源码解析之ApplicationMaster启动流程
本文从源码调用方面介绍从应用程序提交到启动ApplicationMaster的整个过程,期间涉及ClientRMService、RMAppManager、RMAppImpl、RMAppAttemptImpl、RMNode、ResourceScheduler等几个主要组件。当客户端调用RPC函数ApplicationClientProtocol#submitApplication之后
2017-02-20 23:33:26 5103 3
转载 Hadoop案例之自定义分片策略解决大量小文件问题
Hadoop案例之自定义分片策略解决大量小文件问题 转载:http://blog.csdn.net/qq1010885678/article/details/507713611.默认的分片策略TextInputFormat应该都知道默认的TextInputFormat是一行行的读取文件内容,这对于一个或几个超大型的文件来说并没有什么问题,但是在实验读取大量小文件的时候,性能及其
2017-01-07 17:23:31 2904
原创 Hadoop2.5.2完全分布式环境搭建
Hadoop2.5.2完全分布式环境搭建本文搭建Hadoop 2.5.2版本的完全分布式系统,主要是 HDFS HA,忽略了ResourceManger HA 、Web Application Proxy 和Job HistoryServer。 软件版本信息dk: jdk-8u111-linux-x64.tar.gzhadoop: hadoop-2.5
2016-11-27 14:42:09 4642 1
原创 hadoop案例之topK问题
海量数据中,查找topK问题的hadoop解法:一个map task就是一个进程。有几个map task就有几个中间文件,有几个reduce task就有几个最终输出文件。要找的top K 是指的全局的前K条数据,那么不管中间有几个map, reduce最终只能有一个reduce来汇总数据,输出top K。思路和代码:1. Mappers使用默认的mapper数据,一个
2017-03-29 22:22:22 1963
原创 Hadoop面试题 (网上收集版带答案)
1.列出安装Hadoop流程步骤a) 创建hadoop账号b) 更改ipc) 安装Java 更改/etc/profile 配置环境变量d) 修改host文件域名e) 安装ssh 配置无密码登录f) 解压hadoopg) 配置hadoop conf下面的配置文件h) Hadoop namenode -format 格式化i) Start 启动2.列出had
2017-03-06 22:26:00 4010
原创 Hadoop源码分析之事件异步分发器AsyncDispatcher
AsyncDispatcher是Yarn中事件异步分发器,它是ResourceManager中的一个基于阻塞队列的分发或者调度事件的组件,其在一个特定的单线程中分派事件,交给AsyncDispatcher中之前注册的针对该事件所属事件类型的事件处理器EventHandler来处理。每个事件类型类可能会有多个处理渠道,即多个事件处理器,可以使用一个线程池调度事件。在Yarn的主节点ResourceM
2017-02-26 21:16:55 681
原创 Hadoop源码解析之YARN服务端作业提交流程
RM接收到客户端作业提交请求时会通过RPC server做回应,其实客户端就是通过ApplicationClientProtocol的RPC客户端提交作业的,客户端的提交流程参见Hadoop源码解析之YARN客户端作业提交流程,在提交阶段的代码中,客户端在获取新的JobId时,会调用到服务端getNewApplication来获得一个GetNewApplicationResponse,该返回类中包
2017-02-17 00:17:23 1009
原创 Hadoop源码解析之java动态代理机制
在前一篇文章Hadoop源码解析之YARN客户端作业提交流程中,介绍了创建客户端代理阶段用到Java中的动态代理: protected void serviceStart() throws Exception { try { rmClient = ClientRMProxy.createRMProxy(getConfig(), ApplicationCl
2017-01-26 15:21:00 1331
原创 hadoop中使用java.util.ServiceLoader
在前一篇文章Hadoop源码解析之YARN客户端作业提交流程中,介绍了创建客户端代理阶段用到java.util.ServiceLoader加载YarnClientProtocolProvider和LocalClientProtocolProvider。以前从来没有使用过这个类,进去大概看了一下具体的实现。主要是从META-INF/services这个目录下的配置文件加载给定接口或者基类的实现,
2017-01-24 22:46:39 660
原创 Hadoop源码解析之如何获取JobId
前一篇文章讲到客户端作业的提交流程,其中有调用到JobSubmitter类的submitJobInternal函数,里面有获取JobId的地方。部分源码如下:JobStatus submitJobInternal(Job job, Cluster cluster) throws ClassNotFoundException, InterruptedException, IOExcep
2017-01-23 23:24:46 1799
原创 Hadoop源码解析之YARN客户端作业提交流程
主要的流程集中在JobSubmitter.submitJobInternal中,包括检测输出目录合法性,设置作业提交信息(主机和用户),获得JobID,向HDFS中拷贝作业所需文件(Job.jar Job.xml split文件等),最后执行作业提交。
2017-01-22 23:36:48 2037
原创 Hadoop源码解析之修改distributedshell使每个Container运行在不同节点上
1.提出问题修改DistributedShell程序,使得每个Container运行在不同节点上(目前是随机的,可能运行在任意节点上)。2.分析过程 在YARN的处理流程中:1. AM通过RPC协议ApplicationMasterProtocol向RM申请Container。2. AM通过RPC协议ContainerManagementProtocol要求
2017-01-21 02:18:24 569
原创 Hadoop之YARN的主要通信协议
hadoop基础教程:YARN通信协议,RPC协议是连接各个组件的“大动脉”,了解不同组件之间的RPC协议有助于我们更深入地学习YARN框架。在YARN中,任何两个需相互通信的组件之间仅有一个RPC协议,而对于任何一个RPC协议,通信双方有一端是Client,另一端为Server,且Client总是主动连接Server的,因此,YARN实际上采用的是拉式(pull-based)通信模型。Job
2017-01-20 22:47:15 966
原创 Hadoop YARN中内存和CPU两种资源的调度和隔离
Hadoop YARN同时支持内存和CPU两种资源的调度(默认只支持内存,如果想进一步调度CPU,需要自己进行一些配置),本文将介绍YARN是如何对这些资源进行调度和隔离的。在YARN中,资源管理由ResourceManager和NodeManager共同完成,其中,ResourceManager中的调度器负责资源的分配,而NodeManager则负责资源的供给和隔离。ResourceMan
2017-01-19 23:51:24 722
原创 Hadoop源码解析之distributedshell
Hadoop源码解析之distributedshell1. 概述本文介绍YARN自带的一个非常简单的应用程序编程实例—distributedshell,他可以看做YARN编程中的“helloworld”,它的主要功能是并行执行用户提供的shell命令或者shell脚本。本文主要介绍distributedshell的实现方法。版本为hadoop-2.5.2Distributed
2017-01-18 23:33:17 1444
原创 Hadoop源码解析之RPC协议
Hadoop源码解析之RPC协议 1. RPC的基础概念RPC,即RemoteProcdure Call,中文名:远程过程调用。它允许一台计算机程序远程调用另外一台计算机的子程序,而不用去关心底层的网络通信细节,对我们来说是透明的。因此,它经常用于分布式网络通信中。Hadoop RPC在整个Hadoop中应用非常广泛,Client、DataNode、NameNode之间的通讯都
2017-01-15 16:46:04 1060
转载 Hadoop源码解析之YARN的服务库与事件库
Hadoop源码解析之YARN的服务库与事件库 参考:http://www.cnblogs.com/smartloli/p/4669968.html1. YARN服务库对于生命周期较长的对象,YARN使用基于服务的对象模型进行管理,主要特点如下:1. 用于被服务化的对象包含4个状态,他们分别是:被创建、已初始化、已启动和已停止。2. 任何服务状态变化都可以触
2017-01-13 22:32:45 894
转载 Hadoop Yarn 框架原理及运作机制
1. YARN 基本架构YARN是Hadoop 2.0中的资源管理系统,它的基本设计思想是将MRv1中的JobTracker拆分成了两个独立的服务:一个全局的资源管理器ResourceManager和每个应用程序特有的ApplicationMaster。其中ResourceManager负责整个系统的资源管理和分配,而ApplicationMaster负责单个应用程序的管理。
2017-01-08 20:57:15 492
转载 Hadoop案例之二度人脉与好友推荐
Hadoop案例之二度人脉与好友推荐参考:https://my.oschina.net/u/176897/blog/997611.实例描述社交网站上的各个用户以及用户之间的相互关注可以抽象为一个图。以下图为例: 图1顶点A、B、C到I分
2016-12-30 23:47:29 3691
原创 Hadoop案例之倒排索引
Hadoop案例之倒排索引 "倒排索引"是文档检索系统中最常用的数据结构,被广泛地应用于全文搜索引擎。它主要是用来存储某个单词(或词组)在一个文档或一组文档中的存储位置的映射,即提供了一种根据内容来查找文档的方式。由于不是根据文档来确定文档所包含的内容,而是进行相反的操作,因而称为倒排索引(Inverted Index)。1 实例描述 通常情况下,倒排索引由一个单词(或词
2016-12-29 23:42:40 2640 2
原创 Hadop案例之WordCount
代码如下:package hadopp_wordCount; import java.io.IOException;import java.util.StringTokenizer;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.
2016-12-26 23:05:13 738
原创 Hadoop案例之年份温度排序
Hadoop案例之年份温度排序 1. 输入输入文件内容:1949-10-01 14:21:02 34C1949-10-02 14:21:12 36C1950-02-02 11:21:12 32C1950-05-02 11:31:12 37C1951-12-02 11:31:12 23C1950-12-02 11:31:12 47C1950-12-02 11
2016-12-17 21:45:51 2690
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人