hadoop
文章平均质量分 89
影夜life
这个作者很懒,什么都没留下…
展开
-
MapReduce学习笔记之数据连接(六)
1. Map侧连接Map端join是指数据到达map处理函数之前进行合并的,效率要远远高于Reduce端join,因为Reduce端join是把所有的数据都经过Shuffle,非常消耗资源。 注意:在Map端join操作中,我们往往将较小的表添加到内存中,因为内存的资源是很宝贵的,这也说明了另外一个问题,那就是如果表的数据量都非常大则不适合使用Map端join。 1.1 基本思路需要join的原创 2016-10-13 15:37:42 · 1125 阅读 · 0 评论 -
《Hadoop 2.X HDFS源码剖析》读书笔记(DataNode)
1. Datanode逻辑结构1.1 HDFS FederationFederation的HDFS集群可以定义多个Namenode/Namespace,这些Namenode之间是互相独立的,它们各自分工管理着自己的命名空间。而Datanode则提供数据块的共享存储功能,每个Datanode都会向集群中所有Namenode注册,且周期性地向所有Namenode发送心跳和块汇报,然后执行Namenode原创 2016-11-05 18:06:00 · 2458 阅读 · 0 评论 -
《Hadoop 2.X HDFS源码剖析》读书笔记(Client)
1. DSFClient实现对于管理文件/目录以及管理与配置HDFS系统这两个功能,DFSClient并不需要与Datanode交互,而是直接通过远程接口ClientProtocol调用Namenode提供的服务即可。而对于文件读写功能,DFSClient除了需要调用ClientProtocol与Namenode交互外,还需要通过流式接口DataTransferProtocol与Datanode交互原创 2016-11-05 23:36:09 · 4259 阅读 · 0 评论 -
《Hadoop 2.X HDFS源码剖析》读书笔记(RPC)
1. HDFS概述1.1 体系结构HDFS是一个主从(Master/Slave)体系结构的分布式系统。Namenode是HDFS的Master节点,负责管理文件系统的命名空间(namespace),以及数据块到具体Datanode节点的映射等信息。集群中的Datanode一般是一个节点一个,负责管理它所在节点的存储。1.2 RPC接口Hadoop RPC接口主要定义在org.apache.hadoo原创 2016-11-07 11:54:00 · 2757 阅读 · 1 评论 -
《Hadoop 2.X HDFS源码剖析》读书笔记(NameNode)
1. 文件系统目录树FSDirectoryHDFS文件系统的命名空间是以“/”为根的整个目录树,是通过FSDirectory类来管理的。FSNamesystem也提供了管理目录树结构的方法,当FSNamesystem中的方法也是调用FSDirectory类的实现,FSNamesystem在FSDirectory类方法的基础上添加了editlog日志记录的功能。HDFS引入FSDirectory是为了原创 2016-10-30 21:40:22 · 2042 阅读 · 4 评论 -
Hadoop、Spark、Storm相关组件安装
Hadoop2.6.4、zookeeper3.4.6、HBase1.2.2、Hive1.2.1、sqoop1.99.7、spark1.6.2安装原创 2016-09-02 10:46:24 · 4182 阅读 · 0 评论 -
MapReduce配置与优化
1. 流程简介参考MapReduce学习笔记之简介(一)2. 配置详解core-site.xml是全局配置,hdfs-site.xml和mapred-site.xml分别是hdfs和mapred的局部配置。本文配置基于2.7.3版本。另外只列出了部分属性。2.1 core-default.xml 选项 默认值 描述 hadoop.tmp.dir /tmp/hadoop-${user原创 2017-01-03 21:42:53 · 11552 阅读 · 1 评论 -
Hadoop Yarn内存资源隔离实现原理——基于线程监控的内存隔离方案
http://www.cnblogs.com/yurunmiao/p/5070287.html注:本文以hadoop-2.5.0-cdh5.3.2为例进行说明。Hadoop Yarn的资源隔离是指为运行着不同任务的“Container”提供可独立使用的计算资源,以避免它们之间相互干扰。目前支持两种类型的资源隔离:CPU和内存,对于这两种类型的资源,Yarn使转载 2017-01-03 21:52:52 · 829 阅读 · 0 评论 -
Yarn详解
1. Yarn架构1.1 简介1.1.1 架构YARN主要由ResourceManager、NodeManager、ApplicationMaster和Container等几个组件构成。YARN总体上仍然是Master/Slave结构,在整个资源管理框架中,ResourceManager为Master,NodeManager为Slave,ResourceManager负责对各个NodeManager原创 2016-12-31 17:04:32 · 10430 阅读 · 1 评论 -
MapReduce学习笔记之输出与作业的计数器(五)
1. MapReduce的输出输出依赖于作业中Reduce任务的数量,下面是一些优化建议:压缩输出,以节省存储空间,同时也提升HDFS写入吞吐量;避免写入带外端文件(out-of-band side file)作为Reduce任务的输出。根据作业输出文件的消费者的需求,可以分割的压缩技术或许适合;以较大块容量设置,写入较大的HDFS文件,有助于减少Map任务数。2. 任务的推测执行Stra原创 2016-10-13 15:37:02 · 901 阅读 · 0 评论 -
MapReduce学习笔记之简介(一)
Mapreduce是一个计算框架,既然是做计算的框架,那么表现形式就是有个输入(input),mapreduce操作这个输入(input),通过本身定义好的计算模型,得到一个输出(output),这个输出就是我们所需要的结果。在运行一个mapreduce计算任务时候,任务过程被分为两个阶段:map阶段和reduce阶段,每个阶段都是用键值对(key/value)作为输入(input)和原创 2016-10-13 15:27:05 · 1920 阅读 · 0 评论 -
MapReduce学习笔记之输入(二)
类图 1. InputFormat类MapReduce作业的输入数据的规格是通过InputFormat类及其子类给出的。有以下几项主要功能:输入数据的有效性检测。将输入数据切分为逻辑块(InputSplit),并把他们分配给对应的Map任务。实例化一个能在每个InputSplit类上工作的RecordReader对象,并以键-值对方式生成数据,这些K-V对将由我们写的Mapper方法处理。原创 2016-10-13 15:30:00 · 2737 阅读 · 0 评论 -
hadoop 程序遇到的问题
http://blog.csdn.net/suejl/article/details/25938369转载 2016-08-05 11:56:34 · 429 阅读 · 0 评论 -
Macbook Intellij idea与Eclipse远程调试Hadoop应用程序
Intellij Idea远程调试hadoop原创 2016-08-04 13:48:29 · 4782 阅读 · 1 评论 -
Hive SQL操作与函数自定义(一)
Hive SQl操作简介;关于UDF、UDAF、UDTF的自定义;以及其他一些整理资料(例如自定义函数jar包的放在那里,远程调试等)原创 2016-09-21 10:37:57 · 17479 阅读 · 1 评论 -
Hadoop二次排序及MapReduce处理流程实例详解
一、概述MapReduce框架对处理结果的输出会根据key值进行默认的排序,这个默认排序可以满足一部分需求,但是也是十分有限的,在我们实际的需求当中,往往有要对reduce输出结果进行二次排序的需求。对于二次排序的实现,网络上已经有很多人分享过了,但是对二次排序的实现原理及整个MapReduce框架的处理流程的分析还是有非常大的出入,而且部分分析是没有经过验证的。本文将通过一个实际的MapRe转载 2016-10-13 11:53:59 · 2680 阅读 · 0 评论 -
MapReduce二次排序
本文主要介绍下二次排序的实现方式我们知道MapReduce是按照key来进行排序的,那么如果有个需求就是先按照第一个字段排序,在第一个字段相等的情况下,按照第二个字段排序,这就是传说中的二次排序。下面就具体说一下二次排序的实现方式主要就是4点1.自定义一个Key为什么要自定义一个Key,我们知道MapReduce中排序就是按照Key来排序的,我们转载 2016-10-13 11:55:31 · 525 阅读 · 0 评论 -
MapReduce学习笔记之Reduce任务(四)
1. Reduce任务Reduce任务是一个数据聚合的步骤。数量默认为1,而使用过多的Reduce任务则意味着复杂的shuffle,并使输出文件的数量激增。mapreduce.job.reduces属性设置reduce数量,也可以通过编程的方式,调用Job对象的setNumReduceTasks()方法来设置。一个节点Reduce任务数量上限由mapreduce.tasktracker.reduce原创 2016-10-13 15:35:38 · 7316 阅读 · 0 评论 -
MapReduce学习笔记之Map任务(三)
本节所有属性会被mapred-default.xml或mapred-site.xml文件中设定的该属性值覆盖。 1. dfs.blocksize属性HDFS文件的块默认容量可以被配置文件(hdfs-site.xml)覆盖。某些情况下,Map任务可能只需要几秒时间就可以处理一个块,所以,最好让Map任务处理更大的块容量。通过以下方法达到此目的:增加参数mapreduce.input.fileinp原创 2016-10-13 15:34:10 · 6335 阅读 · 1 评论 -
CentOS6.5上编译Hadoop2.6.4、2.7.3
64位centos 下编译 hadoop 2.6.4、2.7.3 源码转载 2016-08-23 07:44:43 · 1764 阅读 · 0 评论