摘要: 在Mapper和Reducer之间有一个非常重要的组件Combiner。每一个map都可能会产生大量的本地输出,Combiner的作用就是对map端的输出先做一次合并,以减少在map和reduce节点之间的数据传输量,以提高网络IO性能,是MapReduce的一种优化手段之一 Combiner最基本 阅读全文
posted @ 2019-08-16 16:49 北漂屌丝 阅读(298) 评论(0) 推荐(0) 编辑
摘要: Spark在Driver上对Application的每个task任务进行分配之前,都会先计算出每个task要计算的对应的数据分片的位置。Spark的task分配算法优先考虑将task分配到分片数据所在的节点,以此来避免网络间数据传输带来的性能消耗。但是在实际的生产环境,有可能某些task没有机会分配 阅读全文
posted @ 2019-08-16 15:57 北漂屌丝 阅读(571) 评论(0) 推荐(0) 编辑
摘要: HDFS 的 NameNode 可以以集群的方式布署,增强了 NameNodes 的水平扩展能力和高可用性,分别是:HDFSFederation 与 HA MapReduce 将 JobTracker 中的资源管理及任务生命周期管理,拆分成两个独立的组件,并更名为 YARN(Yet Another 阅读全文
posted @ 2019-08-16 11:07 北漂屌丝 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 多个NN共用一个集群里的存储资源,每个NN都可以单独对外提供服务。每个NN都会定义一个存储池,有单独的id,每个DN都为所有存储池提供存储。DN会按照存储池id向其对应的NN汇报块信息,同时,DN会向所有NN汇报本地存储可用资源情况。如果需要在客户端方便的访问若干个NN上的资源,可以使用客户端挂载表 阅读全文
posted @ 2019-08-16 10:51 北漂屌丝 阅读(167) 评论(0) 推荐(0) 编辑
摘要: HDFS HA架构 HDFS HA原理 QJM 用2N+1台JN存储editLog,每次写数据操作有大多数(N+1)返回成功时即认为该次写成功,数据不会丢失了。当然这个算法所能容忍的是最多有N台机器挂掉,如果多于N台挂掉,这个算法就失效了。这个原理是基于Paxos算法。在HA架构里面Secondar 阅读全文
posted @ 2019-08-16 10:48 北漂屌丝 阅读(933) 评论(0) 推荐(0) 编辑
摘要: 序列化是指把对象转换为字节序列的过程;而反序列化是指把字节序列恢复为对象的过程 数据的持久化,通过序列化可以把数据永久地保存到硬盘上 远程通信,即在网络上传送对象的字节序列 序列化是指把对象转换为字节序列的过程;而反序列化是指把字节序列恢复为对象的过程 数据的持久化,通过序列化可以把数据永久地保存到 阅读全文
posted @ 2019-08-16 08:18 北漂屌丝 阅读(507) 评论(0) 推荐(0) 编辑