随笔分类 - MapReduce && Zookeeper
摘要:内存调优 Hadoop处理数据时,出现内存溢出的处理方法?(内存调优) 1、Mapper/Reducer阶段JVM内存溢出(一般都是堆) 1)JVM堆(Heap)内存溢出:堆内存不足时,一般会抛出如下异常: 第一种:“java.lang.OutOfMemoryError:” GC overhead
阅读全文
摘要:Map阶段优化 1、在代码书写时优化,如尽量避免在map端创建变量等,因为map端是循环调用的,创建变量会增加内存的消耗,尽量将创建变量放到setup方法中 2、配置调优,可以在集群配置和任务运行时进行调优,如:调优总的原则给shufflfflffle过程尽量多提供内存空间,在map端,可以通过避免
阅读全文
摘要:MapReduce的核心运行机制概述: 一个完整的 MapReduce 程序在分布式运行时有两类实例进程: 1、MRAppMaster:负责整个程序的过程调度及状态协调 2、Yarnchild:负责 map 阶段的整个数据处理流程 3、Yarnchild:负责 reduce 阶段的整个数据处理流程
阅读全文
摘要:Hadoop2.X后,MapReduce一般都是跑在Yarn上,所以说MapReduce的运行原理,更多是讲MapReduce On Yarn的运行原理,MapReduce On Yarn的运行原理图如下: 1:job的提交 1.1、向RM申请一个新的applicationId 1.2、判断job的
阅读全文
摘要:Reduce大致分为copy、sort、reduce三个阶段,重点在前两个阶段。copy阶段包含一个eventFetcher来获 取已完成的map列表,由Fetcher线程去copy数据,在此过程中会启动两个merge线程,分别为 inMemoryMerger和onDiskMerger,分别将内存中
阅读全文
摘要:(1)Read阶段:MapTask通过用户编写的RecordReader,从输入InputSplit中解析出一个个key/value。 (2)Map阶段:该节点主要是将解析出的key/value交给用户编写map()函数处理,并产生一系列新的key/value。 (3)Collect收集阶段:在用户
阅读全文
摘要:概述 1、MapReduce 中,mapper 阶段处理的数据如何传递给 reducer 阶段,是 MapReduce 框架中 最关键的一个流程,这个流程就叫 Shuffle 2、Shuffle: 数据混洗 ——(核心机制:数据分区,排序,局部聚合,缓存,拉取,再合并 排序) 3、具体来说:就是将
阅读全文
摘要:MapReduce是什么 HDFS:分布式存储系统 MapReduce:分布式计算系统 YARN:hadoop 的资源调度系统 Common:以上三大组件的底层支撑组件,主要提供基础工具包和 RPC 框架等 MapReduce 是一个分布式运算程序的编程框架,是用户开发“基于 Hadoop 的数据分
阅读全文
摘要:作者:青俞链接:https://www.zhihu.com/question/34016617/answer/57822812来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 Yarn设计的初衷就是为了在同一套集群上面跑不同的应用框架。至于为什么要在同一套集群上面跑不同
阅读全文
摘要:数据倾斜是日常大数据查询中隐形的一个BUG,遇不到它时你觉得数据倾斜也就是书本博客上的一个无病呻吟的偶然案例,但当你遇到它是你就会懊悔当初怎么不多了解一下这个赫赫有名的事故。 https://www.zhihu.com/question/27593027 之乎者也
阅读全文