anzhsoft的技术专栏

专注分布式资源管理和大数据处理平台: Since Dec. 2013

使用Kubernetes需要注意的一些问题(FAQ of k8s)

记录了使用k8s过程中遇到的一些问题,不过货有点太干,接下来有时间会写一下关于架构原理和更详细的实践分享

2016-04-29 15:57:57

阅读数 14303

评论数 1

独立开发一个云(PaaS)的核心要素, Go, Go, Go!!!

如果自己的公司需要打造一个适合自己公司内部使用的PaaS,亦或是你想了解一下一个云平台是怎么构建出来的,这篇文章会比较适合你。

2015-10-10 20:40:03

阅读数 6693

评论数 2

我的第一本著作:Spark技术内幕上市!

现在各大网站销售中!京东:http://item.jd.com/11770787.html当当:http://product.dangdang.com/23776595.html亚马逊:http://www.amazon.cn/SparkInternals前言和目录附上,以便有需要了解的同学:诞生...

2015-09-20 10:00:31

阅读数 53301

评论数 26

Spark技术内幕:Storage 模块整体架构

Storage模块负责了Spark计算过程中所有的存储,包括基于Disk的和基于Memory的。用户在实际编程中,面对的是RDD,可以将RDD的数据通过调用org.apache.spark.rdd.RDD#cache将数据持久化;持久化的动作都是由Storage模块完成的。包括Shuffle过程中...

2015-01-18 19:13:13

阅读数 16988

评论数 19

Spark技术内幕:Shuffle的性能调优

通过上面的架构和源码实现的分析,不难得出Shuffle是Spark Core比较复杂的模块的结论。它也是非常影响性能的操作之一。因此,在这里整理了会影响Shuffle性能的各项配置。尽管大部分的配置项在前文已经解释过它的含义,由于这些参数的确是非常重要,这里算是做一个详细的总结。1.1.1  sp...

2015-01-18 19:09:28

阅读数 21569

评论数 6

Spark技术内幕:Shuffle Read的整体流程

本文详细讲解Shuffle Read的整个过程,包括如何获得Block的元数据信息,进行网络,本地读取。通过一个整体的流程架构图,详细大家可以对整个过程有一个更加深刻的把握

2015-01-12 08:07:31

阅读数 19359

评论数 16

Spark技术内幕:Shuffle Map Task运算结果的处理

Shuffle Map Task运算结果的处理这个结果的处理,分为两部分,一个是在Executor端是如何直接处理Task的结果的;还有就是Driver端,如果在接到Task运行结束的消息时,如何对Shuffle Write的结果进行处理,从而在调度下游的Task时,下游的Task可以得到其需要的...

2015-01-12 08:02:16

阅读数 17850

评论数 12

Spark技术内幕: 如何解决Shuffle Write一定要落盘的问题?

在Spark 0.6和0.7时,Shuffle的结果都需要先存储到内存中(有可能要写入磁盘),因此对于大数据量的情况下,发生GC和OOM的概率非常大。因此在Spark 0.8的时候,Shuffle的每个record都会直接写入磁盘。一直到1.2.0,Shuffle的数据是一定会写入本地文件系统的,...

2015-01-11 15:13:24

阅读数 17074

评论数 8

分布式系统的设计几个要注意的地方

最近在做系统升级,由于当时设计的局限,导致系统不停服,保证服务的做法非常麻烦。当时再定方案的时候,由于自己在这方面没有经验,导致有些乐观。到了实际做的时候,预期时间至少比预想的多了一周的时间,要知道,在互联网公司,一周的时间是个非常长的时间。而这一周,还包括了OT。在这里总结一下分布式系统设计的大...

2014-12-25 07:14:49

阅读数 9581

评论数 18

Spark技术内幕: Shuffle详解(三)

前两篇文章写了Shuffle Read的一些实现细节。但是要想彻底理清楚这里边的实现逻辑,还是需要更多篇幅的;本篇开始,将按照Job的执行顺序,来讲解Shuffle。即,结果数据(ShuffleMapTask的结果和ResultTask的结果)是如何产生的;结果是如何处理的;结果是如何读取的。

2014-12-07 20:46:13

阅读数 6133

评论数 3

Spark技术内幕: Shuffle详解(二)

本文主要关注ShuffledRDD的Shuffle Read是如何从其他的node上读取数据的。 上文讲到了获取如何获取的策略都在org.apache.spark.storage.BlockFetcherIterator.BasicBlockFetcherIterator#splitLocalRe...

2014-11-30 18:18:57

阅读数 18359

评论数 7

Spark技术内幕: Shuffle详解(一)

通过上面一系列文章,我们知道在集群启动时,在Standalone模式下,Worker会向Master注册,使得Master可以感知进而管理整个集群;Master通过借助ZK,可以简单的实现HA;而应用方通过SparkContext这个与集群的交互接口,在创建SparkContext时就完成了App...

2014-11-29 21:39:15

阅读数 20254

评论数 16

Linux Debugging (九) 一次生产环境下的“内存泄露”

如何解决一个valgrind和gpreftools都检查不出的”内存泄露“?

2014-11-17 20:45:47

阅读数 9699

评论数 0

海量并发的无锁编程 (lock free programming)

高并发的情况下,锁是一个灾难;那么架构是如何做到无锁编程的?

2014-10-15 22:44:25

阅读数 10615

评论数 1

Cassandra使用pycassa批量导入数据

本周接手了一个Cassandra系统的维护工作,有一项是需要将应用方的数据导入我们维护的Cassandra集群,并且为应用方提供HTTP的方式访问服务。这是我第一次接触KV系统,原来只是走马观花似的看过KV啊,NoSQL啊。但是实际上没有实际的使用经验。经过两天的学习和接手,终于搞明白了在生产环境...

2014-08-31 11:46:54

阅读数 11279

评论数 0

Spark技术内幕:Worker源码与架构解析

Worker所起的作用有以下几个: 1. 接受Master的指令,启动或者杀掉Executor 2. 接受Master的指令,启动或者杀掉Driver 3. 报告Executor/Driver的状态到Master 4. 心跳到Master,心跳超时则Master认为Worker已经挂了不能...

2014-08-04 21:49:29

阅读数 15554

评论数 16

从Storm和Spark 学习流式实时分布式计算的设计

最近我在做流式实时分布式计算系统的架构设计,而正好又要参见CSDN博文大赛的决赛。本来想就写Spark源码分析的文章吧。但是又想毕竟是决赛,要拿出一些自己的干货出来,仅仅是源码分析貌似分量不够。因此,我将最近一直在做的系统架构的思路整理出来,形成此文。为什么要参考Storm和Spark,因为没有参...

2014-08-02 17:06:51

阅读数 44496

评论数 18

Spark技术内幕:Master基于ZooKeeper的High Availability(HA)源码实现

本文详细讲解了Spark在Standalone模式下的Master的HA的源码分析。 为了解决Standalone模式下的Master的SPOF,Spark采用了ZooKeeper提供的选举功能。Spark并没有采用ZooKeeper原生的Java API,而是采用了Curator,一个对ZooK...

2014-06-24 20:25:39

阅读数 30387

评论数 10

Spark技术内幕:Client,Master和Worker 通信源码解析

本文分析了Spark1.0.0的Client,Master和Worker之间是如何通信的。通过对通信的分析,可以清楚的理解各个角色的作用和责任,和它在集群中扮演的不同角色。 当然了,为了便于源码分析,本文开始分析了akka,一个非常优秀的actor的实现:高性能,易于编程,可扩展和弹性无中心。

2014-06-17 21:43:06

阅读数 33749

评论数 15

Spark:大数据的电花火石!

Apache Spark™is a fast and general engine for large-scale data processing: 一种快速通用可扩展的数据分析引擎。如果想要搞清楚Spark是什么,那么我们需要知道它解决了什么问题,还有是怎么解决这些问题的。 本文将带领你进入Sp...

2014-06-13 23:19:10

阅读数 28917

评论数 36

提示
确定要删除当前文章?
取消 删除
关闭
关闭