大数据
大数据Blog
HaiwiSong
一切只为让自己变得更优秀!
展开
-
Yarn源码分析之状态机机制
文章目录基本概念基本概念在Yarn中状态转移和事件驱动往往协同工作,一个处理请求首先会作为某种事件发送给集群,然后经事件调度后传给具体的事件处理器,在事件处理器中调用状态机完成状态转移处理逻辑(具体事件驱动的过程见另一篇《学习笔记之Yarn中事件驱动模型.md》)。状态机由一组状态组成,这些状态大体分为三类:初始状态、中间状态和最终状态。状态机首先由初始状态A开始运行,经过一系列的中间状态后...原创 2020-04-04 09:16:55 · 1316 阅读 · 0 评论 -
Yarn源码分析之事件模型
文章目录事件模型设计原理AsyncDispatcher的基本结构AsyncDispatcher的初始化AsyncDispatcher的启动注册事件处理器分发事件处理器调用事件过程参考上篇 Yarn源码分析之集群启动过程 我们介绍了Yarn的启动过程,捎带介绍了AsyncDispatcher,但感觉有必要单独详细分析下(源码版本:hadoop2.7.1)…事件模型设计原理为了更好的应对并发,Y...原创 2020-03-29 20:06:04 · 554 阅读 · 0 评论 -
Yarn源码分析之集群启动流程
文章目录集群启动脚本分析ResourceManager启动流程初始化流程启动流程中央事件调度器-AsyncDispatcher本文以hadoop2.7.1的源码分析(主要是最新版本考虑更多因素,源码不够纯粹)集群启动脚本分析首先我们从启动hadoop集群说起,我们一般在单点hadoop启动集群一般直接使用 sbin/start-all.sh 或 sbin/stop-all.sh ,我们直接看...原创 2020-03-28 14:47:09 · 1257 阅读 · 0 评论 -
一文弄懂HDFS基本原理和架构
文章目录概述HDFS架构(Hadoop1.x)ClientNameNode(Master)DataNode(Slave)Secondary NameNodeHDFS 副本存放策略NameNode工作原理SecondNameNode与NameNode交互DataNode与NameNode交互![在这里插入图片描述](https://img-blog.csdnimg.cn/20190609163327...原创 2019-06-09 16:38:13 · 2391 阅读 · 0 评论 -
一文弄懂Hbase基本架构
文章目录1、存储模型2、架构模型图3、ROOT表和META表4、Region拆分原理5、HBase在HDFS中存储6、读写操作流程写操作流程读操作流程7、Hbase的容错性1、存储模型table中的所有行都按照row key的字典序排列。table在行的方向上分割为多个HRegion,每个HRegion分散在不同的RegionServer中。每个HRegion由多个Store构成(每个...原创 2019-02-02 18:03:00 · 427 阅读 · 0 评论 -
一文弄懂HDFS的Ha高可用原理
文章目录一、Hadoop1.x中hdfs架构二、Hadoop2.x中hdfs架构三、Hadoop 2.x元数据四、基于 QJM 的共享存储系统的总体架构1、基于 QJM 的共享存储系统的内部实现架构图如图。2、QJM 写过程分析五、HDFS的HA参数配置六、hdfs中的DataNode节点配置一、Hadoop1.x中hdfs架构在介绍HA之前,我们先来看下Hadoop的系统架构,这对于理解HA...原创 2019-03-05 17:48:00 · 2924 阅读 · 1 评论 -
一文弄懂zookeeper基本架构
1、zookeeper工作原理Zookeeper的核心是原子广播,这个机制保证了各个server之间的同步。实现这个机制的协议叫做Zab协议。Zab协议有两种模式,它们分别是恢复模式和广播模式。当服务启动或者在领导者崩溃后,Zab就进入了恢复模式,当领导者被选举出来,且大多数server的完成了和leader的状态同步以后,恢复模式就结束了。状态同步保证了leader和server具有相同的系统...原创 2019-02-02 18:05:05 · 879 阅读 · 0 评论 -
大数据量同步方案之全量同步改为增量同步解决方案
背景描述: 在一些大数据运用场景中,由于上游数据每天都在变化着,在需要用这些数据的下游系统需要每天刷新这些变化的数据,当数据量小时候,简单粗暴的方式就是每次全量更新数据,但随着业务的增长,数据量成几何方式增长时(达到亿级别甚至更多),每次的更新工作将是耗时耗力的,也是业务方无法忍受的。此时,就需要一种解决方案变全量同步为增量同步。解决方案: 考虑到数据量基数虽然大,但每天变化的...原创 2016-12-08 11:30:30 · 26961 阅读 · 10 评论 -
impala中的覆盖更新机制
在mysql上套上impala中间件后,能够实现mysql的覆盖更新功能,原理如下:通过jddl往impala中load数据时候,impala根据mysql表的主键,如果已存在,则update;如果不存在,则insert。其中关键点是mysql主键和load语句中需要填上replace参数。 例如如下load语句{"load": "load data local infile 'ji...原创 2016-11-16 20:15:46 · 4177 阅读 · 0 评论 -
年周(年+周)的算法
在很多场景下需要由日期获得该日期对应的年周(例如:2016-11-22对应的年周为201647),在iso标准中,当在跨年计算年周时候, Calendar中calendar.get(Calendar.WEEK_OF_YEAR)的算法:跨年周(即1月1日所处的那周)的归属原则为跨年周的周四处于哪年,则该跨年周属于哪年。例如,2016-01-01的那周的周四(2015-12-31)在2015年,那...原创 2016-11-22 21:11:39 · 4010 阅读 · 0 评论