
hadoop
文章平均质量分 85
Flood_Dragon
勇者无所畏惧 强者自强不息
展开
-
Hadoop中HDFS文件系统NameNode的Federation设计文档(HDFS-1052:Hdfs scalability with multiple namenodes)
原文请参:https://issues.apache.org/jira/browse/HDFS-1052https://issues.apache.org/jira/secure/attachment/12453067/high-level-design.pdf译文如下:1 IntroductionTerminology:Federated HDFS,Namenod转载 2015-10-30 16:45:52 · 816 阅读 · 0 评论 -
MapReduce的自制Writable分组输出及组内排序
问题描述:输入文件格式如下:name1 2name3 4name1 6name1 1name3 3name1 0要求输出的文件格式如下:name1 0,1,2,6name3 3,4要求是按照第一列分组,name1与name3也是按照顺序排列的,组内升序排序。转载 2014-05-06 11:33:57 · 606 阅读 · 0 评论 -
MapReduce与MySQL交互
apReduce与MySQL交互 MapReduce技术推出后,曾遭到关系数据库研究者的挑剔和批评,认为MapReduce不具备有类似于关系数据库中的结构化数据存储和处理能力。为此,Google和MapReduce社区进行了很多努力。一方面,他们设计了类似于关系数据中结构化数据表的技术(Google的BigTable,Hadoop的HBase)提供一些粗粒度的结构化数据存储和处理能力;另转载 2014-04-04 13:40:00 · 794 阅读 · 0 评论 -
Hadoop MapTask/ReduceTask各阶段耗费时间的测试
io.block.size:64Mmapred.mapinput.min.splitsize:512Mio.sort.mb:512M每个maptask的输入为512M的数据,在每个maptask中,发生了3次spill缓存溢写。下面是通过日志统计出的各个细分阶段所用的时间:每个TaskTracker都使用一个队列保存JobTracker分发过来的转载 2014-04-04 11:47:39 · 1345 阅读 · 0 评论 -
hadoop 配置文件 masters 以及 namenode, jobtracker, secondary namenode
hadoop配置文件里面有一个是masters 和slaves,从字面意思来理解的话呢就是masters设置运行namenode,和jobtracker的结点,其实不然啊!!今天看了HADOOP the definitive guid 第二版的影印版,在配置hadoop集群中介绍到,其实,masters设置的是运行secondary namenode的结点,并且可以在masters里面设置翻译 2014-05-05 16:58:25 · 3722 阅读 · 1 评论 -
使用Hadoop做K-Means计算的总结
以K均值聚类算法为实验对象。通过调整各项Hadoop参数,已经不能再进一步缩短K均值迭代的时间,在计算过程中,CPU User态的使用率始终维持在95%左右。尝试过的配置项有:mapred.min.split.sizeio.sort.mbio.sort.spill.percentio.sort.factormin.num.spill.转载 2014-04-04 11:58:10 · 802 阅读 · 0 评论 -
hadoop添加节点和删除节点
转自:http://www.cnblogs.com/ggjucheng/archive/2012/04/22/2465625.html添加DataNode1.部署hadoop和普通的datanode一样。安装jdk,ssh2.修改host和普通的datanode一样。添加namenode的ip3.修改namenode的配置文件conf/slaves添转载 2014-04-04 11:35:27 · 660 阅读 · 0 评论 -
hadoop的1TB排序
1、1TB(或1分钟)排序的冠军 作为分布式数据处理的框架,集群的数据处理能力究竟有多快?或许1TB排序可以作为衡量的标准之一。 1TB排序,就是对1TB(1024GB,大约100亿行数据)的数据进行排序。2008年,Hadoop赢得1TB排序基准评估第一名,排序1TB数据耗时209秒。后来,1TB排序被1分钟排序所取代,1分钟排序指的是在一分钟内尽可能多的排序。2009年,在一个14转载 2014-05-04 16:35:26 · 826 阅读 · 0 评论 -
MapReduce的Shuffle阶段
Shuffle过程是MapReduce的核心,也被称为奇迹发生的地方。要想理解MapReduce, Shuffle是必须要了解的。我看过很多相关的资料,但每次看完都云里雾里的绕着,很难理清大致的逻辑,反而越搅越混。前段时间在做MapReduce job 性能调优的工作,需要深入代码研究MapReduce的运行机制,这才对Shuffle探了个究竟。考虑到之前我在看相关资料而看不懂时很恼火,所以在转载 2014-04-30 11:57:17 · 758 阅读 · 0 评论 -
MapReduce 全排序
转自:http://zxxapple.iteye.com/blog/1405502关于全排序的问题 Tom White的书中提出的数据取样方法 ,最近学习了一下,下面做个比较,以防后患!! 主要思想就是在要排序的所有数据中随机取出一定量的数据,这些数据取自三个部分,1. 选取总得数据 ( 键值对 ) 数目2. 选取的 split 数目3. 每个 split 选取的键转载 2014-04-30 09:56:49 · 706 阅读 · 0 评论 -
MapReduce工作原理图文详解
前言: 前段时间我们云计算团队一起学习了hadoop相关的知识,大家都积极地做了、学了很多东西,收获颇丰。可是开学后,大家都忙各自的事情,云计算方面的动静都不太大。呵呵~不过最近在胡老大的号召下,我们云计算团队重振旗鼓了,希望大伙仍高举“云在手,跟我走”的口号战斗下去。这篇博文就算是我们团队“重启云计算”的见证吧,也希望有更多优秀的文章出炉。汤帅,亮仔,谢总•••搞起来啊!呵呵,下转载 2014-03-14 15:13:35 · 610 阅读 · 0 评论 -
Hadoop MapReduce进阶 使用分布式缓存进行replicated join
转自:http://blog.youkuaiyun.com/jokes000/article/details/7084351概念:reduce-side join技术是灵活的,但是有时候它仍然会变得效率极低。由于join直到reduce()阶段才会开始,我们将会在网络中传递shuffle所有数据,而在大多数情况下,我们会在join阶段丢掉大多数传递的数据。因此我们期望能够在map阶段完成整个joi转载 2014-03-13 15:12:28 · 681 阅读 · 0 评论 -
Hadoop MapReduce进阶 使用Chain
情况:在进行高级的数据处理时,你会发现你的程序不能放在一个的MapReduce job之中了。Hadoop支持将多个MapReduce Job串成一条链来形成一个更大的MapReduce Job。同时你会发现Hadoop数据处理过程中通常包括多个数据源,我们将探索一些join技术同时处理多个数据源。1.将具有复杂依赖关系的多个MapReduce Job串联起来。情况:有三个Job,转载 2014-03-13 15:08:02 · 672 阅读 · 0 评论 -
Hadoop Combiner提高Map/Reduce效率
众所周知,Hadoop框架使用Mapper将数据处理成一个键值对,再网络节点间对其进行整理(shuffle),然后使用Reducer处理数据并进行最终输出。 在上述过程中,我们看到至少两个性能瓶颈:如果我们有10亿个数据,Mapper会生成10亿个键值对在网络间进行传输,但如果我们只是对数据求最大值,那么很明显的Mapper只需要输出它所知道的最大值即可。这样做不仅可翻译 2014-03-13 15:05:44 · 708 阅读 · 0 评论 -
Hadoop MapReduce进阶 使用DataJoin包实现Join
概念:Hadoop有一个叫DataJoin的包为Data Join提供相应的框架。它的Jar包存在于contrib/datajoin/hadoop-*-datajoin。为区别于其他的data join技术,我们称其为reduce-side join。(因为我们在reducer上作大多数的工作)reduce-side join引入了一些术语及概念:转载 2014-03-13 15:09:07 · 645 阅读 · 0 评论 -
Hadoop: the definitive guide 第三版 拾遗 第四章 之CompressionCodec
第四章中提到了通过CompressionCodec对streams进行压缩和解压缩,并提供了示例程序:输入:标准输入流输出:压缩后的标准输出流原示例程序:[java] view plaincopy// cc StreamCompressor A program to compress data read from standard转载 2014-02-28 12:42:28 · 835 阅读 · 0 评论 -
MapReduce数据流
Hadoop does its best to run the map task on a node where the input data resides inHDFS. This is called the data locality optimization because it doesn’t use valuable clus-ter bandwidth. Sometimes,转载 2014-02-28 12:36:30 · 711 阅读 · 0 评论 -
Hadoop深入学习:MapReduce的Shuffle过程详解
在本节中,我们再来仔细回顾一下MapReduce编程框架的所谓的“洗牌”过程,即MapReduce的Shuffle过程,可以说Shuffle是MapReduce编程框架的核心,能直接影响到MapReduce的性能。实际上,对MapReduce的调优在很大程度上就是对MapReduce Shuffle的性能的调优。 那么,Shuffle到底在MapReduce处于哪个阶段呢?实转载 2014-05-06 15:32:09 · 1698 阅读 · 0 评论 -
hadoop 自定义inputformat和outputformat
http://blackproof.iteye.com/blog/1hadoop的inputformat和outputformat 最好的例子vertica :虽然是在pig中实现的udf,但是就是hadoop的inputformat和outputformat,在hive里也可以照用,贴个下载的地址:http://blackproof.iteye.com/blog/转载 2014-04-04 17:22:31 · 669 阅读 · 0 评论 -
Ubuntu编译Hadoop源码异常总结
摘要 编译Hadoop源码出现的导常错误及解决方法,都是自己遇到过的,写下来待有缘人,勿跳坑目录[+]错误1:?12345678910[ERROR] Failed to execute goal org.apache.hadoop:转载 2015-11-14 15:00:03 · 1145 阅读 · 0 评论 -
Apache Hadoop YARN – ResourceManager
原文地址:Apache Hadoop YARN – ResourceManagerResourceManager (RM) 是管理所有可用的集群资源并协助管理运行在YARN上的分布式应用的主要组件。RM与每个节点的NodeManagers (NMs)和每个应用的ApplicationMasters (AMs)一起工作。NodeManagers 遵循来自ResourceMan转载 2015-10-14 11:19:10 · 658 阅读 · 0 评论 -
hadoop(2.x)以hadoop2.2为例完全分布式最新高可靠安装文档
首先说一下这个安装过程需要注意的地方一、使用新建用户可能会遇到的问题(1)权限问题:对于新手经常使用root,刚开始可以使用,但是如果想真正的学习,必须学会使用其他用户。也就是你需要学会新建用户,但是新建用户,并不是所有人都会的。具体可以参考ubuntu创建新用户并增加管理员权限,这里面使用adduser是最方便的。也就是说你需要通过这里,学会给Linux添加用户,并且赋权,上转载 2015-10-13 15:14:32 · 586 阅读 · 0 评论 -
yarn启用CGroups
1. Enabling CGroupsCGroups is a Linux kernel feature. Currently HDP supports CGroups on RHEL6 and Centos6. HDP does not support the default CGroups on Centos7 or RHEL7. However, Centos7 and RHEL7原创 2015-10-23 17:45:27 · 2414 阅读 · 0 评论 -
yarn基本原理
背景Yarn是一个分布式的资源管理系统,用以提高分布式的集群环境下的资源利用率,这些资源包括内存、IO、网络、磁盘等。其产生的原因是为了解决原MapReduce框架的不足。最初MapReduce的committer们还可以周期性的在已有的代码上进行修改,可是随着代码的增加以及原MapReduce框架设计的不足,在原MapReduce框架上进行修改变得越来越困难,所以MapReduce的comm转载 2015-09-02 17:15:43 · 667 阅读 · 0 评论 -
很高效的用于调度的最小堆
摘自于Hadoop大量文件调度合并public abstract class PriorityQueue { private T[] heap; private int size; private int maxSize; protected abstract boolean lessThan(Object a, Object b); @Suppr原创 2015-07-08 17:28:13 · 853 阅读 · 0 评论 -
MapReduce源码分析之MapTask分析(二)
SpillThread分析为什么需要Spill内存大小总是有效,因此在Mapper在处理过程中,数据持续输出到内存中时,必然需要有机制能将内存中的数据换出,合理的刷出到磁盘上。SpillThread就是用来完成这部分工作。SpillThread的线程处理函数只是做一层封装,当索引表中的kvstart和kvend指向一样的索引位置时,会持续处于等待过程,等待外部通知需要触发s翻译 2015-01-05 11:31:32 · 825 阅读 · 0 评论 -
Map-Reduce的过程解析
一、客户端Map-Reduce的过程首先是由客户端提交一个任务开始的。提交任务主要是通过JobClient.runJob(JobConf)静态函数实现的:public static RunningJob runJob(JobConf job) throws IOException { //首先生成一个JobClient对象 JobClient jc = ne转载 2015-01-08 15:24:05 · 751 阅读 · 0 评论 -
MapReduce: 提高MapReduce性能的七点建议[译]
Cloudera提供给客户的服务内容之一就是调整和优化MapReduce job执行性能。MapReduce和HDFS组成一个复杂的分布式系统,并且它们运行着各式各样用户的代码,这样导致没有一个快速有效的规则来实现优化代码性能的目的。在我看来,调整cluster或job的运行更像一个医生对待病人一样,找出关键的“症状”,对于不同的症状有不同的诊断和处理方式。 在医学领域,没转载 2014-11-20 18:29:11 · 707 阅读 · 0 评论 -
Hadoop程序,出现 Filesystem closed 异常
一个多线程的程序。FileSystem.get(getConf())返回的可能是一个cache中的结果,它并不是每次都创建一个新的实例。这就意味着,如果每个线程都自己去get一个文件系统,然后使用,然后关闭,就会有问题。因为你们关闭的可能是同一个对象。而别人还在用它!所以最好是在main函数中就创建好filesystem对象然后在不同函数之间来回传递吧。在main函数用用try…final原创 2014-09-29 11:19:31 · 2170 阅读 · 0 评论 -
mr任务之从多个Hbase表中读取数据进行处理
从两个不同的Hbase表中读取数据:在reduce中根据数据结构 判断数据是来源于那个Hbase表即可// 设置查询条件 List scans = new ArrayList(); Scan scan1 = new Scan(); scan1.setCaching(100); scan1.setCacheBlocks(false); scan1.setAttribute转载 2014-09-26 15:13:11 · 1623 阅读 · 0 评论 -
Hbase访问方式之Mapreduce
概述:Hbase对Mapreduce API进行了扩展,方便Mapreduce任务读写HTable数据。一个简单示例:说明:从日志表中,统计每个IP访问网站目录的总数package man.ludq.hbase;import java.io.IOException;import org.apac转载 2014-09-26 15:16:02 · 686 阅读 · 0 评论 -
HBase高性能复杂条件查询引擎
——索引的实质是另一种编排形式的数据冗余,高效的检索源自于面向查询特别设计的编排形式,如果再辅以分布式的计算框架,就可以支撑起高性能的大数据查询。本文原文出处: http://blog.youkuaiyun.com/bluishglc/article/details/31799255 严禁任何形式的转载,否则将委托优快云官方维护权益!Apache HBase™是一个分布式、可伸缩的NoS转载 2014-09-19 11:36:11 · 1086 阅读 · 0 评论 -
Hive Hbase区别 转载整理
以下 由网上内容 整理:Hive是为了简化编写MapReduce程序而生的,使用MapReduce做过数据分析的人都知道,很多分析程序除业务逻辑不同外,程序流程基本一样。在这种情况下,就需要Hive这样的用戶编程接口。Hive本身不存储和计算数据,它完全依赖于HDFS和MapReduce,Hive中的表纯逻辑,就是些表的定义等,也就是表的元数据。使用SQL实现Hiv转载 2013-12-30 12:17:36 · 737 阅读 · 0 评论 -
海量数据的二度人脉挖掘算法(Hadoop 实现)
在新浪微博、人人网等社交网站上,为了使用户在网络上认识更多的朋友,社交网站往往提供类似“你可能感兴趣的人”、“间接关注推荐”等好友推荐的功能。一直很好奇这个功能是怎么实现的。其实,社交网站上的各个用户以及用户之间的相互关注可以抽象为一个图。以下图为例:顶点A、B、C到I分别是社交网站的用户,两顶点之间的边表示两顶点代表的用户之间相互关注。那么如何根据用户之间相互关注所构成的转载 2014-05-19 10:50:46 · 756 阅读 · 0 评论 -
Hadoop作业提交解决
最近几天一直在纠结hadoop作业提交的问题,对于命令行提交作业以及在集群中提交作业这里不再赘述,不会就去Google吧! 我们在客户机提交作业的时候总是发现出错,eclipse总是报jar file not found 的错误!我们知道客户端提交任务的时候,使用方法job.setWaitForCompletion(true)的时候,这个方法会调用job的submit()方法,sub转载 2014-03-18 14:38:02 · 1003 阅读 · 0 评论 -
Hadoop HPROF 的使用
我们编写的MapReduce程序不一定都是高效的,我们需要确定MapReduce的瓶颈在什么地方。Hadoop框架提供对HPROF的支持,HPROF能够跟踪CPU、堆的使用以及线程的生命周期,对于确定程序的瓶颈能够提供很大的帮助。为了使用HPROF我们需要在JobConf中进行一些设置,具体操作如下:JobConf jobConf = new JobConf(conf);转载 2014-05-08 11:17:21 · 861 阅读 · 0 评论 -
mapreduce中map个数的确定
在map阶段读取数据前,FileInputFormat会将输入文件分割成split。split的个数决定了map的个数。影响map个数,即split个数的因素主要有:1)HDFS块的大小,即HDFS中dfs.block.size的值。如果有一个输入文件为1024m,当块为256m时,会被划分为4个split;当块为128m时,会被划分为8个split。2)文件的大小。当块为12转载 2014-02-17 17:34:45 · 843 阅读 · 0 评论 -
简单验证hadoop的wordcount
1、执行hadoop中的wordcount,得出一结果。2、对于某个指定单词在ubuntu中的文件所在目录下执行:grep 指定单词 所有统计文件|wc实际上就是linux/unix平台的ls指令:A、 ls | grep filename 查询文件名包含filename 的文件(这其实就是一个map,找到需要的数据)B、 ls | grep f转载 2014-02-28 12:38:10 · 686 阅读 · 0 评论 -
Hadoop: the definitive guide 第三版 拾遗 第三章 之查看文件及正则表达式
一、例3-3的read实现:[java] view plaincopypackage com.tht.hdfs; //cc FileSystemDoubleCat Displays files from a Hadoop filesystem on standard output twice, by using seek转载 2014-02-28 12:39:56 · 708 阅读 · 0 评论 -
Hadoop、Pig、Hive、Storm、NOSQL 学习资源收集【Updating】
(一)hadoop 相关安装部署1、hadoop在windows cygwin下的部署: http://lib.open-open.com/view/1333428291655http://blog.youkuaiyun.com/ruby97/article/details/7423088http://blog.youkuaiyun.com/savechina/article/detail转载 2014-01-22 16:38:50 · 1466 阅读 · 0 评论