Spark Streaming揭秘 Day30

集群模式下SparkStreaming日志分析

今天通过集群运行模式观察、研究和透彻的刨析SparkStreaming的日志和web监控台。

Day28已经分析过local模式下的日志,集群模式会比较类似,这次主要是对集群模式在的web监控台,进行统一的深度刨析。

我们从wordcount程序开始,代码如下,为了展示出SparkStreaming在集群中的运行,Batch Duration设置为5分钟。

系统作业

为了观察持续运行的情况,我们运行了10分钟,一共产生了6个Job,Job0和Job1是框架产生的系统Job。

首先我们会看见一个Job0,这个是SparkStreaming启动时进行自检的dummy Job,前面课程曾经介绍过,目标是为了资源的平衡和最大化。

Job1一直处于active状态,其内部是一个Receiver,为了启动Receiver进行数据接收而产生的,我们发现这个Job只运行在一台机器上。

无数据处理作业

下面看下Streaming专有的控制台。我们进行了多个Batch的处理,其中第一个Batch没有数据,而第二个Batch有数据,我们发现就算没有数据,因为也会执行一个action,所以也会有处理时间。

首先是Batch1,其中并没有数据发生,这个Batch由Job2和Job3组成。

我们进入Job2,里面有2个Stage,里面虽然触发了一个action,但是因为没数据,所以啥也没干,只是走了一个形式。

我们会发现第一个Stage中没有Task运行。

第二个Stage,是只有一个Task在worker2运行,进行reduce操作。

有数据处理作业

从日志看,发现在输入读入时,在2个worker上进行数据存入,有两个是因为存储级别默认为MEMORY_AND_DISK_SER_2,有备份机制。

有数据输入Batch2由Job4和Job5组成。

我们看下Job4,第一个Stage不再跳过,这个时候,就有具体的数据处理了

第一个Stage,运行在worker4的机器上,和receiver在一起。而且数据是在内存中(NODE_LOCAL)。主要进行了Shuffle write,写入了4条数据。

第二个Stage,在worker4上运行,shuffle read了3个record。

Job5中,也是运行在worker4上,shuffle read了1个record。

在这里,我们发现了一个现象:从web控制台来看,一个Batch Duration产生2个Job,共同完成了这个Batch中全部record的处理,分了2个Job来shuffle read数据。

多Job机制再研究

从上述描述,我们看到一个print函数会由多个Job协作完成,这个是不是偶发现象,我们做个实验。
把代码中分区数调为8,重新运行程序:

这个时候,我们发现同时运行的Job变成了3个,3个Job一共运行了8个Task!!!

这个是spark1.6的新特性,框架在做作业调度的时候,为了更大化的利用集群的资源,把我们的task分发成不同的Job,每个Job负责一部分的Task。启动多个Job,好处是可以支持无限的自动重启提高可靠性。
这个处理代价不是太大,原因是在SparkStreaming角度讲只是封装了Runnable对象,是一种轻量级的处理。具体实现看,在JobGenerator中,在产生Jobset提交到JobScheduler的时候,会根据并行度等规则,把Job分成了不同的子Job。这个子Job的拆分,我们下节课来分析。

欲知后事如何,且听下回分解!

DT大数据每天晚上20:00YY频道现场授课频道68917580

Spark Streaming揭秘 Day30 集群模式下SparkStreaming日志分析的更多相关文章

  1. Spark Streaming揭秘 Day31 集群模式下SparkStreaming日志分析(续)

    Spark Streaming揭秘 Day31 集群模式下SparkStreaming日志分析(续) 今天延续昨天的内容,主要对为什么一个处理会分解成多个Job执行进行解析. 让我们跟踪下Job调用过 ...

  2. 7.redis 集群模式的工作原理能说一下么?在集群模式下,redis 的 key 是如何寻址的?分布式寻址都有哪些算法?了解一致性 hash 算法吗?

    作者:中华石杉 面试题 redis 集群模式的工作原理能说一下么?在集群模式下,redis 的 key 是如何寻址的?分布式寻址都有哪些算法?了解一致性 hash 算法吗? 面试官心理分析 在前几年, ...

  3. 就publish/subscribe功能看redis集群模式下的队列技术(一)

    Redis 简介 Redis 是完全开源免费的,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中 ...

  4. (转)实验文档4:kubernetes集群的监控和日志分析

    改造dubbo-demo-web项目为Tomcat启动项目 Tomcat官网 准备Tomcat的镜像底包 准备tomcat二进制包 运维主机HDSS7-200.host.com上:Tomcat8下载链 ...

  5. LB+nginx+tomcat7集群模式下的https请求重定向(redirect)后变成http的解决方案

    0. 环境信息 Linux:Linux i-8emt1zr1 2.6.32-573.el6.x86_64 #1 SMP Wed Jul 1 18:23:37 EDT 2015 x86_64 x86_6 ...

  6. Redis集群模式下的redis-py-cluster方式读写测试

    与MySQL主从复制,从节点可以分担部分读压力不一样,甚至可以增加slave或者slave的slave来分担读压力,Redis集群中的从节点,默认是不分担读请求的,从节点只作为主节点的备份,仅负责故障 ...

  7. 【Redis集群原理专题】分析一下相关的Redis集群模式下的脑裂问题!

    技术格言 世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程. 什么是脑裂 字面含义 首先,脑裂从字面上理解就是脑袋裂开了,就是思想分家了,就是有了两个山头,就是有了 ...

  8. Tomcat 集群模式下 Session 更新 Bug (redis memcached 及tomcat自已的集群)

    从 excel 中导入数据入系统,我们用的是先上传文件至服务器再分析所上传的文件逐行导入. 就是执行了一循环,在当前循环位置标识一下客户端就知道执行的进度了,以前的方式 是用 session.setA ...

  9. Hadoop框架:集群模式下分布式环境搭建

    本文源码:GitHub·点这里 || GitEE·点这里 一.基础环境配置 1.三台服务 准备三台Centos7服务,基础环境从伪分布式环境克隆过来. 133 hop01,134 hop02,136 ...

随机推荐

  1. 小白日记34:kali渗透测试之Web渗透-扫描工具-Burpsuite(二)

    扫描工具-Burpsuite 公共模块 0.Spider 爬网 手动爬网 先禁用截断功能 手动将页面中点击所有连接,对提交数据的地方,都进行提交[无论内容] 自动爬网[参数设置] 指定爬网路径,否则其 ...

  2. A very hard Aoshu problem

    A very hard Aoshu proble Problem Description Aoshu is very popular among primary school students. It ...

  3. Jessica's Reading Problem

    Description Jessica's a very lovely girl wooed by lots of boys. Recently she has a problem. The fina ...

  4. ActiveXObject对象详解

    一.什么是 ActiveX 控件?         ActiveX 控件广泛用于 Internet.它们可以通过提供视频.动画内容等来增加浏览的乐趣.不过,这些程序可能出问题或者向您提供不需要的内容. ...

  5. css笔记09:选择器优先级

    1. (1) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...

  6. 奥运会订票系统c语言代写源码下载

    制作能够实现2008北京奥运会网上订票的系统,能够实现购票人员注册.购票.管理人员可以设置各个比赛场地的赛事安排及票数. 程序要求实现的功能如下: 购票者信息注册:购票者可以用昵称和身份证进行注册,若 ...

  7. 移动互联网(APP)产品设计的经验分享【转】

    随着移动互联网的发展,越来越多的Web产品开始布局移动端,因此最近经常碰到PM们在交流讨论移动APP产品的设计.我从事移动互联网已经有一年多了,通过不断的学习和实践也积累了一些心得,今天整理并分享一下 ...

  8. Java中windows路径转换成linux路径等工具类

    项目中发现别人写好的操作系统相关的工具类: 我总结的类似相关博客:http://www.cnblogs.com/DreamDrive/p/4289860.html import java.net.In ...

  9. [设计模式]<<设计模式之禅>>之关于单一职责原则

    单一职责原则的英文名称是Single Responsibility Principle,简称是SRP. 这个原则存在争议之处在哪里呢?就是对职责的定义,什么是类的职责,以及怎么划分类的职责.我们先举个 ...

  10. hdu 2709 Sumsets

    Sumsets Time Limit: 6000/2000 MS (Java/Others)     Memory Limit: 32768/32768 K (Java/Others) Total S ...