![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hadoop2021
文章平均质量分 78
Wuyikkk
这个作者很懒,什么都没留下…
展开
-
HDFS-HA
一、HDFS-HA故障转移机制考虑到edits编辑日志如果放在一台active的NamNode上话,如果此节点挂掉,另外的NameNode无法获取到数据,所以引出了Edits文件管理系统:qjournal集群。故障转移流程NameNode正常运行时,向去journal集群获取edits,各个NameNode节点都有一个独立的Zookeeper Failover controller(ZKFC),active的NameNode的ZKFC在Zookeeper中占用一个临时节点,其余的ZKFC通过监视此原创 2021-02-25 20:47:40 · 315 阅读 · 0 评论 -
浅谈Yarn
一、Yarn的架构二、作业提交流程1> 作业提交client调用job.waitForCompletion方法,向集群提交MapReduce作业client向ResourceManager申请一个ApplicationRM给Client返回该job资源的提交路径和作业idClient提交jar包、切片信息和配置文件到指定的资源提交路径Client提交资源完后,向RM申请运行MRAppMaster2> 作业初始化当RM收到Client的请求后,将该job添加到容量调度器中原创 2021-02-17 12:45:23 · 736 阅读 · 0 评论 -
浅谈MapReduce
一、MR的编写1. MR的编程规范MR的编程只需要将自定义的组件和系统默认组件进行组合,组合之后运行即可编程步骤:Map阶段的核心处理逻辑需要编写在Mapper中Reduce阶段的核心处理逻辑需要编写在Reducer中将编写的Mapper和Reducer进行组合,组合成一个Job对Job进行设置,设置后运行2. MapperMapper是MapTask中负责Map阶段核心运算逻辑的类继承Mapper<KEYIN,VALUEIN,KEYOUT,VALUEOUT>K原创 2021-02-17 09:38:13 · 166 阅读 · 0 评论 -
MapReduce工作流程
1、Mapper的map()方法传来的<k,v>数据会先进入环形缓冲区kvbuffer(内存中首尾相连的数据结构,环形缓冲区由数据区和索引区组成),当kvbuffer中的数据达到80%,就会发生溢写。2、溢写前,kvbuffer会对缓冲区内的数据进行快排,先按分区编号排序,再按map的key排序。(排序只会改变索引区索引的顺序,不会改变数据区的数据)3、溢写多次,就会产生多个磁盘文件file.out,和索引文件file.out.index。4、多个溢写文件会合并成一个文件(通过归并排序).原创 2021-02-17 07:36:55 · 8292 阅读 · 0 评论 -
浅谈HDFS
一、HDFS写数据流程1)客户端通过DistributedFileSystem模块向NameNode请求上传文件,NameNode检查目标文件是否存在,父目录是否存在,是否有写权限。2)NameNode返回是否可以上传。3)客户端请求上传第一个Block。4)NameNode返回存储块的位置信息(存储节点数取决于文件的副本数)5)客户端通过FSDataOutputStream模块请求与DataNode1建立数据传输通道,dn1收到请求会继续调用dn2,dn2调用dn3,直至通信通道建立完成。6原创 2021-02-16 10:39:52 · 139 阅读 · 0 评论