hadoop
文章平均质量分 71
gjt19910817
这个作者很懒,什么都没留下…
展开
-
Hadoop MapReduce之MapOutputBuffer分析
前言 MapReduce的源码分析是基于Hadoop1.2.1基础上进行的代码分析。 该章节会分析在MapTask端的详细处理流程以及MapOutputCollector是如何处理map之后的collect输出的数据。map端的主要处理流程图1 MapTask处理流程 图1所示为MapTask的主要代码执行流程,在MapTask启动后会进入入口run函数,根据是否使用新的api转载 2014-07-16 00:20:23 · 4476 阅读 · 0 评论 -
TaskTracker中HttpServer doGet源码分析
TaskTracker节点的内部Http服务组件主要提供两个功能:1)./logtask,获取某一个Task的执行日志;2)./mapOutput,获取某一个Task的map输出数据。对于用户来说,Http服务组件的/logtask功能不是必须的,但是它的/mapOutput功能对于整个Map-Reduce框架实现来说则是至关重要的,因为每一个Job的每一个Reduce任务就是通过该服务来获取它所转载 2014-07-24 02:15:44 · 959 阅读 · 0 评论 -
Hadoop平台优化综述
1. 概述随着企业要处理的数据量越来越大,MapReduce思想越来越受到重视。Hadoop是MapReduce的一个开源实现,由于其良好的扩展性和容错性,已得到越来越广泛的应用。Hadoop作为一个基础数据处理平台,虽然其应用价值已得到大家认可,但仍存在很多问题,以下是主要几个:(1) Namenode/jobtracker单点故障。 Hadoop采用的是mast转载 2014-11-13 22:30:01 · 862 阅读 · 0 评论 -
Map/Reduce Task 远程调试详解
Map/Reduce Task 远程调试详解原创 2014-06-17 22:10:07 · 5032 阅读 · 7 评论 -
Bigtable:一个分布式的结构化数据存储系统
修正了alex翻译版的几个欠妥之处Bigtable:一个分布式的结构化数据存储系统摘要Bigtable是一个管理结构化数据的分布式存储系统,它被设计用来处理海量数据:分布在数千台通用服务器上的PB级的数据。Google的很多项目将数据存储在Bigtable中,包括Web索引、Google Earth、Google Finance。这些应用对Bigtable提出的要求差异非常转载 2014-12-18 13:17:21 · 3093 阅读 · 0 评论 -
远程调试hadoop各组件
原文Hadoop conf/hadoop-env.sh has following environment variables HADOOP_NAMENODE_OPTSHADOOP_SECONDARYNAMENODE_OPTS, HADOOP_DATANODE_OPTSHADOOP_BALANCER_OPTSHADOOP_JOBTRACKER_OPTSH翻译 2014-12-25 00:05:48 · 715 阅读 · 0 评论 -
YARN中MRAppMaster的事件驱动模型与状态机处理消息过程的分析
在MRv1中,对象之间的作用关系是基于函数调用实现的,当一个对象向另外一个对象传递消息时,会直接采用函数调用的方式,并且这个过程是串行的。比如,当TaskTracker需要执行一个Task的时候,将首先下载Task依赖的文件(JAR包,二进制文件等,字典文件等),然后执行Task。在整个过程中,下载依赖文件是阻塞式的,也就是说,前一个任务未完成文件下载之前,后一个新任务将一直处于等待状态,只有在下原创 2015-02-03 04:36:07 · 3562 阅读 · 0 评论 -
使用 IntelliJ 远程调试 HDFS
首先找到使用的 hadoop 脚本,例如在Apache的原创 2014-07-12 07:11:40 · 7682 阅读 · 1 评论 -
Hadoop interview questions
Q1. Name the most common InputFormats defined in Hadoop? Which one is default ? Following 2 are most common InputFormats defined in Hadoop - TextInputFormat- KeyValueInputFormat- Seque原创 2014-07-11 06:18:16 · 756 阅读 · 0 评论 -
Hadoop MapReduce之ReduceTask任务执行(一):远程拷贝map输出
reduce执行流程经历三个阶段:copy、sort、reduce,在第一阶段reduce任务会把map的输出拷贝至本地,通过线程MapOutputCopier,该线程通过http协议将map输出拷贝至本地,该copy操作可以并行进行,默认情况下有5个线程执行此操作,如果map数量较大时可以适当调大此值,拷贝时使用http协议,此时reducetask为client,map端以jetty作为web转载 2014-06-16 22:25:45 · 6160 阅读 · 1 评论 -
Hadoop系列 之Terasort
TeraSort是Hadoop的测试中很有用的一个工具,但以前只是粗略的知道它的功能和用法,简单的用它做了几个测试用例。实际上,对于这种比较通用的工具,如果能够了解它更多一些的话,对于理解Hadoop是很有帮助的,同时也可以更好的利用它来帮助测试。最近有点时间,就了解了一些它的背景,代码实现原理等等,就先记录下来吧。1. Hadoop与Sort BenchmarksSortBenchm转载 2014-06-10 23:55:14 · 4099 阅读 · 0 评论 -
远程调试hadoop各组件
远程调试对应用程序开发十分有用。例如,为不能托管开发平台的低端机器开发程序,或在专用的机器上(比如服务不能中断的 Web 服务器)调试程序。其他情况包括:运行在内存小或 CUP 性能低的设备上的 Java 应用程序(比如移动设备),或者开发人员想要将应用程序和开发环境分开,等等。为了进行远程调试,必须使用 Java Virtual Machine (JVM) V5.0 或更新版本。JPDA 简介S转载 2014-06-11 22:54:08 · 3580 阅读 · 0 评论 -
eclipse调试时鼠标移动到变量上不显示值的问题
ZZ from http://aniyo.iteye.com/blog/1563672Thanks to 今天同事问一问题,就说在eclipse中调试时,鼠标移动到变量上不显示值,这个原来自己也遇到过,没注意,反正就使用ctrl+shift+i嘛,也可以的,刚查了一下,解决方法如下: Window->Preferences->Java->Editor->转载 2014-06-12 06:13:37 · 1797 阅读 · 0 评论 -
mapreduce 过程中关于 0-length 数据进入reducer 时的处理
当MapOutputBuffer对象进行spill时,会对每个 key/pair原创 2014-07-24 07:08:29 · 1109 阅读 · 0 评论 -
Hadoop MapReduce 任务执行流程源代码详细解析
目录1 引言 1.1 目的 1.2 读者范围2 综述3 代码详细分析 3.1 启动Hadoop集群 3.2 JobTracker启动以及Job的初始化 3.3 TaskTracker启动以及发送Heartbeat 3.4 JobTracker接收Heartbeat并向TaskTracker分转载 2014-06-13 23:19:14 · 2434 阅读 · 0 评论 -
Hadoop MapReduce之ReduceTask任务执行(三):Merger线程分析
在reduce端的文件拷贝阶段,会将数据放入内存或直接放入磁盘中,如果文件全部拷贝完再进行合并那样必然降低作业效率,所以在拷贝进行到一定阶段,数据的合并就开始了,负责该工作的有两个线程:InMemFSMergeThread和LocalFSMerger,分别针对内存和磁盘Segment的合并。首先看内存合并线程InMemFSMergeThread的run函数转载 2014-06-17 02:31:58 · 1759 阅读 · 0 评论 -
Hadoop MapReduce之ReduceTask任务执行(四):排序与合并
上一篇讲了reduce如何把map输出下载到本地的过程,这个过程中包含了文件合并操作,本文主要讲reduce的下一个阶段:排序。reduce端的合并单位是Segment,在对Segment合并的过程中就已经实现排序了,大家如果对Oracle比较熟悉的话,这种合并排序的方式就容易理解了,对于两个排序好的数组,每次取其中的最小值,那么结果就是一个大的有序数组,这就是merge的基本原理,当然在Hado转载 2014-06-17 03:18:35 · 5080 阅读 · 0 评论 -
Hadoop MapReduce之ReduceTask任务执行(二):GetMapEventsThread线程
reduce任务为获得map的输出要和TaskTracker 通信以获得map的完成情况,负责这个工作的是GetMapEventsThread。线程运行时会通过TT的代理调用TaskUmbilicalProtocol协议的getMapCompletionEvents来获得MapTaskCompletionEventsUpdate,该返回数据总包含了最新map任务的完成状态:SUCCEEDED转载 2014-06-17 01:44:57 · 1777 阅读 · 0 评论 -
YARN MapReduce MRAppMaster-剖析
一 概述 MRv1主要由编程模型(MapReduce API)、资源管理与作业控制块(由JobTracker和TaskTracker组成)和数据处理引擎(由MapTask和ReduceTask组成)三部分组成。而YARN出现之后,资源管理模块则交由YARN实现,这样为了让MapReduce框架运行在YARN上,仅需要一个ApplicationMaster组件完成作转载 2015-02-05 06:39:12 · 1883 阅读 · 0 评论