加载中
再谈DAG任务分解和Shuffle RDD

1、DagScheduler分析 DagScheduler功能主要是负责RDD的各个stage的分解和任务提交。Stage分解是从触发任务调度过程的finalStage开始倒推寻找父stage,如果父stage没有提交任务则循环提交缺失...

昨天 18:00
4
通过map操作看RDD的Map过程

RDD中的map,flatMap等操作是怎么串在一起形成DAG图的呢?这是个很重要的问题,理解了这一点才能更好的理解Spark的内核实现。本文通过map过程来试图解释这一点。 先看看RDD的一个子类:MapPa...

昨天 14:12
6
Spark的另一个核心的奥秘:任务

任务(Task)是Spark的最小执行单元,Spark任务是通过Task来执行的。Spark的任务体系是最神秘也是最容易学习的核心模块,任务执行机制点透了那么Spark也就了解的更深入了。Task是任务体系的一...

09/12 18:05
17
Spark中的RDD到底是怎么玩的?

Spark是开源的分布式计算引擎,基于RDD来构造数据处理流程,并在集群间调度任务,通过分区数据管理机制来划分任务的并行度,并在任务之间交换分区数据,实现分布式的数据处理。 RDD是Spark中...

09/11 16:49
20
ZooKeeper系列之(十六):结束篇

ZooKeeper的设计原理讲到这基本就结束了,有兴趣的朋友可以下源代码看看,ZooKeeper的源代码写的很好,很轻量级,是入门分布式系统的绝佳材料。 最后再简单总结一下吧: (1)ZooKeeper是什么...

09/10 00:04
21
ZooKeeper系列之(十五):写日志

Zookeeper中写操作都有维护一个事务日志,专门用于写znode操作。只有事务日志确认过的数据变更才会在整个集群生效。 1、TxnLog TxnLog是写事务日志接口,主要包含以下接口: rollLog: 日志滚...

09/09 19:20
11
ZooKeeper系列之(十四):Znode数据结构

ZooKeeper中数据平时都在内存中通过一个叫ZkDataBase的类来管理维护的,同时ZooKeeper提供了Snapshot(快照)的方式可以将ZkDataBase持久化到磁盘,防止数据丢失。 ZkDataBase通过DataTree保...

09/09 19:15
3
ZooKeeper系列之(十三):Watcher跟随者工作模式

客户端如何用Watcher在之前已经说过了,这里主要说说服务端的实现机制。 1、服务端 ZooKeeperServer接收到getData请求后,首先processPacket方法会被调用,我们先看看该方法中和Watcher机制相...

09/09 16:22
10
ZooKeeper系列之(十二):服务端实现机制

服务端有3种运行方式:leader,follower,observer。leader是领导者,一个ZooKeeper集群同一时刻最多只能有一个leader。follower是跟随者,可以有多个跟随者。Observer是观察者,也可以有多个...

ZooKeeper系列之(十一):客户端实现机制

笔者为什么要讲ZooKeeper的源码,对于程序员来说,光知道用是成为不了优秀的行家的,还要知道所以然,只有知道了内部实现机制,才能开拓眼界提高自我。而笔者认为ZooKeeper是最好的入门分布式...

09/09 13:21
4
ZooKeeper系列之(十):投票选举(2)

ZooKeeper的选举过程默认使用FastLeaderElection类,FastLeaderElection启动时启动Messenger收发选举信息。选举完成后选出1个Leader和若干Follower。 首先理解几个概念: Epoch:投票周期,用...

09/09 13:13
7
ZooKeeper系列之(九):投票选举(1)

投票选举可以说是ZooKeeper中的难点所在,也是精华所在了。 ZooKeeper服务端集群在正常工作时需要一个Leader和无数个Follower,他们都对外提供统一的服务接口,客户端连接任意一台服务端发送...

09/09 13:07
4
ZooKeeper系列之(八):跟随者调用链

Follower使用的ZooKeeperServer的子类FollowerZooKeeperServer,同标准的ZooKeeperServer很相似,除了更换了调用链。 首先看下它的调用链的定义: FollowerZooKeeperServer的调用链的初始化代...

09/09 13:02
5
ZooKeeper系列之(七):领导者调用链

Leader通过启动LeaderZooKeeperServer来接收客户端请求。 首先看下它的处理链的定义,从源码看出LeaderZooKeeperServer的处理链顺序如下: LeaderRequestProcessor :Leader调用链开始 Prep...

09/09 13:00
1
ZooKeeper系列之(六):请求调用链概述

ZooKeeper服务端在收到客户端请求之后,根据leader或follower角色不同,执行一系列不同的操作。ZooKeeper设计者将这些操作抽象成了接口叫processRequest,并提供了该接口的多个实现类。leade...

09/09 12:56
5
ZooKeeper系列之(五):领导者工作模式

领导者就是Leader,是整个集群的写事务流程负责人。 一轮选举结束时产生新的Leader,并且Epoch加1。同时新的Leader先将自己的zxid设置为Epoch左移32位(Epoch<32),将是集群中最大的zxid。 ...

09/09 12:50
9
ZooKeeper系列之(四):跟随者工作模式

当ZooKeeper集群启动之后,需要完成leader和follower之间的数据同步。 首先leader和observer有一个共同的父类learner,里面定义了一些公共方法。集群正常运行后会有一个leader和多个followe...

Zookeeper系列(三):应用场景

Zookeeper被广泛应用于各种分布式集群场景中,比如Hadoop、Storm、Spark、Kafka等,要想学好大数据分析,不可避免的要用到大规模机器集群,了解和掌握Zookeeper的工作原理将会对学好大数据分...

09/06 16:43
40
Zookeeper系列(二):Java API开发

ZooKeeper还为客户端提供了Java API编程接口的方式。API接口主要是ZooKeeper类中的方法,下面列举几个常用的客户端操作的Java代码示例。 1、create 创建ZooKeeper路径节点,参数需提供路径名...

09/06 16:07
31
Zookeeper系列(一):它是干什么的

Zookeeper是一款开源的分布式存储系统。 ZooKeeper主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。 Zookee...

09/06 15:53
17

没有更多内容

加载失败,请刷新页面

返回顶部
顶部