摘要:
shuffle和排序 Shuffle阶段分为两部分:Map端和Reduce端。 一 map端shuffle过程; 1-内存预排序:默认每个map有100M内存进行预排序(为了效率),超过阈值,会把内容写到磁盘; 此过程使用快速排序算法; 2-根据key和reducer的数量进行分区和排序;首先根据数 阅读全文
摘要:
MapReduce作业的调度历史发展:①按照作业的提交顺序执行,即先进先出(FIFO)调度算法来运行作业;存在的问题,一些阻塞型任务会持续占有资源,使得任务无法进行。可以类似单线程相对于多线程存在的阻塞问题。②作业优先级调度算法;存在的问题:优先级不支持抢占,仍然存在上一个算法的阻塞问题;③MapR 阅读全文
摘要:
如要了解hadoop的运行机制过程, 需要先了解几个概念: mapreduce中概念: 1、首先用户程序(JobClient)提交了一个job,job的信息会发送到Job Tracker,Job Tracker是Map-reduce框架的中心,他需要与集群中的机器定时通信heartbeat,需要管理 阅读全文
摘要:
一:hadoop为什么不适合处理大量的小文件,怎么解决? 原因: 1:文件的元数据(包括文件被分成了哪些blocks,每个block存储在哪些服务器的哪个block块上),都是存储在namenode上的内存,会对namenode的内存造成压力; 2: 文件过多会造成文件的定位时间(又称寻址时间)增大 阅读全文
摘要:
要了解双亲委派机制得先了解个概念: 类加载器:“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块成为“类加载器”。 通俗的讲,虚拟机是根据类的全限定名来加载类的,那么有个问题,如果同时存在两个或 阅读全文