Hadoop contrib介绍

标签: Hadoop-MapReduce Failmon Gridmix Hadoop contrib Vaidya | 发表时间:2012-12-19 21:48 | 作者:Dong
出处:http://dongxicheng.org
作者: Dong | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及 版权声明
网址: http://dongxicheng.org/mapreduce/hadoop-contrib/

Hadoop Contrib是Hadoop代码中第三方公司贡献的工具包,一般作为Hadoop kernel的扩展功能,它包含多个非常有用的扩展包,本文以Hadoop 1.0为例对Hadoop Contrib中的各个工具包进行介绍。

【Gridmix2】

Hadoop Gridmix2是针对hadoop系统的基准测试程序。它具备评测大规模数据处理系统所需的各个功能模块,包括:产生数据,生成并提交作业,统计作业完成时间等。Gridmix2可产生各种类型不同长度的混合作业,以帮助用户测试Hadoop集群的吞吐率、响应时间等基本指标。

【Gridmix】

即Gridmix3,是一种track-based gridmix,它可帮助用户在实验集群中重现或者模拟线上集群中出现的问题,它不是gridmix2的替代品,而是对gridmix2不足的一种弥补。通常情况下,当用户作业在线上集群出现问题时,用户可使用Rumen(http://hadoop.apache.org/docs/mapreduce/r0.22.0/rumen.html)在线上集群上获取该作业(从JobHistory日志中提取)的运行轨迹, 然后将作业的轨迹文件作为Gridmix3输入,运行到实验集群上,以重现线上集群出现的问题,进而发现问题。

具体可参考:

http://developer.yahoo.com/blogs/hadoop/posts/2010/04/gridmix3_emulating_production/

https://issues.apache.org/jira/browse/MAPREDUCE-728

【Vaidya】

Vaidya是一个基于规则的MapReduce作业性能诊断工具,通常,用户运行完一个作业后,可运行Vaidya 以发现该作业存在的各种性能问题。它的基本工作原理是解析作业JobHistory日志和作业配置文件中的参数和统计信息,并将这些信息作用到一些事先定义好的规则上,最后输出规则判定结果。

具体可参考: http://hadoop.apache.org/docs/r1.0.0/vaidya.html

【Failmon】

Failmon是IBM贡献的日志收集工具,可将各个slave节点上的作业日志,系统日志解析后,格式化存储到HDFS的固定 目录下,用户可使用failmon提供的shell名利分析这些日志,也可以使用pig,Hive等进行分析处理。(它在0.19.0版本中已出现,且与Apache Chuwa功能重复)。

具体可参考: https://issues.apache.org/jira/browse/HADOOP-3585

【Capacity Scheduler】

Yahoo贡献的多用户多队列任务调度器,现已被很多公司采用。

【Fair Scheduler】

Facebook贡献的多用户多队列任务调度器,现已被很多公司采用。

【Streaming】

Hadoop提供的多语言编写MapReduce作业的工具,通过使用该工具,用户可将任意可执行文件或者脚本作为mapper或者reducer,大大提高了非java程序员开发mapreduce程序的效率。

【Index】

利用mapreduce程序分布式并行构建和更新索引文件。Index包将索引划分成若干个shard,每个shard对应一个Lucene实例。在Map阶段,Index程序对输入数据进行格式化、分析和解析,在Reduce阶段,对数据进行聚集、更新等操作。需要注意的是,在更新时,会用到本地磁盘,即当对某个索引块进行更新时,会将新生成的索引写到本地磁盘上,然后再拷贝回HDFS上。

【MRunit(Hadoop 0.21.0)】

MRUnit是一款由Couldera公司开发的专门针对Hadoop中编写MapReduce单元测试的框架。可以用MapDriver单独测试Mapperr,用ReduceDriver单独测试Reducer,用MapReduceDriver测试MapReduce作业。

具体可参考: http://www.taobaotest.com/blogs/qa?bid=10550

【Mumak(Hadoop 0.21.0)】

MapReduce模拟器,它可用少量节点模拟一个真实的线上生产环境(包括节点规模、拓扑结构等),它通过分析JobHistory日志还原作业的运行过程。该模拟器由Simulated JobTracker、Simulated Cluster (set of tasktrackers)、Client for handling job-submission等基础组件组成,它允许用户使用已存在的真实调度器,比如FIFO、FairScheduler、Capacity Scheduler等。

https://issues.apache.org/jira/browse/MAPREDUCE-728

【Vertica(Hadoop 0.21.0)】

用于支持Vertica数据库的组件。

https://issues.apache.org/jira/browse/MAPREDUCE/component/12313270

【Raid(Hadoop 0.21.0)】

由Facebook贡献的借鉴Raid思想的HDFS数据存储方式,它可让HDFS通过纠错编解码来实现文件存储的可靠性,以节省存储空间。

http://wiki.apache.org/hadoop/HDFS-RAID

http://blog.csdn.net/nexus/article/details/7567449

除以上几个工具包外,还包括data-join、dynamic Scheduler等,在此不具体介绍。

原创文章,转载请注明: 转载自 董的博客

本文链接地址: http://dongxicheng.org/mapreduce/hadoop-contrib/


Copyright © 2012
This feed is for personal, non-commercial use only.
The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:
)

相关 [hadoop contrib] 推荐:

Hadoop contrib介绍

- - 董的博客
Dong | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及 版权声明. 网址: http://dongxicheng.org/mapreduce/hadoop-contrib/. Hadoop Contrib是Hadoop代码中第三方公司贡献的工具包,一般作为Hadoop kernel的扩展功能,它包含多个非常有用的扩展包,本文以Hadoop 1.0为例对Hadoop Contrib中的各个工具包进行介绍.

Hadoop Streaming 编程

- - 学着站在巨人的肩膀上
Hadoop Streaming是Hadoop提供的一个编程工具,它允许用户使用任何可执行文件或者脚本文件作为Mapper和Reducer,例如:. 采用shell脚本语言中的一些命令作为mapper和reducer(cat作为mapper,wc作为reducer). 本文安排如下,第二节介绍Hadoop Streaming的原理,第三节介绍Hadoop Streaming的使用方法,第四节介绍Hadoop Streaming的程序编写方法,在这一节中,用C++、C、shell脚本 和python实现了WordCount作业,第五节总结了常见的问题.

Hadoop使用(一)

- Pei - 博客园-首页原创精华区
Hadoop使用主/从(Master/Slave)架构,主要角色有NameNode,DataNode,secondary NameNode,JobTracker,TaskTracker组成. 其中NameNode,secondary NameNode,JobTracker运行在Master节点上,DataNode和TaskTracker运行在Slave节点上.

Hadoop MapReduce技巧

- - 简单文本
我在使用Hadoop编写MapReduce程序时,遇到了一些问题,通过在Google上查询资料,并结合自己对Hadoop的理解,逐一解决了这些问题. Hadoop对MapReduce中Key与Value的类型是有要求的,简单说来,这些类型必须支持Hadoop的序列化. 为了提高序列化的性能,Hadoop还为Java中常见的基本类型提供了相应地支持序列化的类型,如IntWritable,LongWritable,并为String类型提供了Text类型.

Hadoop TaskScheduler浅析

- - kouu's home
TaskScheduler,顾名思义,就是MapReduce中的任务调度器. 在MapReduce中,JobTracker接收JobClient提交的Job,将它们按InputFormat的划分以及其他相关配置,生成若干个Map和Reduce任务. 然后,当一个TaskTracker通过心跳告知JobTracker自己还有空闲的任务Slot时,JobTracker就会向其分派任务.

HADOOP安装

- - OracleDBA Blog---三少个人自留地
最近有时间看看hadoop的一些东西,而且在测试的环境上做了一些搭建的工作. 首先,安装前需要做一些准备工作. 使用一台pcserver作为测试服务器,同时使用Oracle VM VirtualBox来作为虚拟机的服务器. 新建了三个虚拟机以后,安装linux,我安装的linux的版本是redhat linux 5.4 x64版本.

Hadoop Corona介绍

- - 董的博客
Dong | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及 版权声明. 网址: http://dongxicheng.org/hadoop-corona/hadoop-corona/. Hadoop Corona是facebook开源的下一代MapReduce框架. 其基本设计动机和Apache的YARN一致,在此不再重复,读者可参考我的这篇文章 “下一代Apache Hadoop MapReduce框架的架构”.

Hadoop RPC机制

- - 企业架构 - ITeye博客
RPC(Remote Procedure Call Protocol)远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议. Hadoop底层的交互都是通过 rpc进行的. 例如:datanode和namenode 、tasktracker和jobtracker、secondary namenode和namenode之间的通信都是通过rpc实现的.

Hadoop Rumen介绍

- - 董的博客
Dong | 新浪微博: 西成懂 | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及 版权声明. 网址: http://dongxicheng.org/mapreduce/hadoop-rumen-introduction/. 什么是Hadoop Rumen?. Hadoop Rumen是为Hadoop MapReduce设计的日志解析和分析工具,它能够将JobHistory 日志解析成有意义的数据并格式化存储.

HADOOP SHUFFLE(转载)

- - 数据库 - ITeye博客
Shuffle过程是MapReduce的核心,也被称为奇迹发生的地方. 要想理解MapReduce,Shuffle是必须要了解的. 我看过很多相关的资料,但每次看完都云里雾里的绕着,很难理清大致的逻辑,反而越搅越混. 前段时间在做MapReduce job性能调优的工作,需要深入代码研究MapReduce的运行机制,这才对Shuffle探了个究竟.