前些天我维护的一个streaming实时报表挂了,情况:数据无法实时更新增长,然后查看了报表所依赖的五张sqlserver的表,发现,只有1张的数据是正常写入的,还一张数据非正常写入,还有3张完全没有数据写入.刚开始认为是不是数据库链接出问题了,但是!!!!我们的一个spark on yarn的批处理恢复实时数据的任务可以正常运作!而且5张表都可以正常写入,修改,删除,于是我查看了streaming任务的节点的nodemanager的日志

正常啊!内存和磁盘空间使用都正常!看来不是OOM问题

但是我还是有点不确信,因为一个长期运行的程序好端端怎么就出问题了???也没修改过代码啊,于是我还是不信邪的去修改了excutor的内存(增大),也去尝试修改了driver的内存(增大)

这下好了!!!连streming任务都运行不了了!!!spark on yarn的批处理恢复也恢复不了了!!!!我的天!!开启后几秒就挂掉!!!(想跳楼!)

于是通过 yarn logs -applocationId 查看了streming任务的报错信息如下

找不到checkpoint目录??

于是我手动创建了这个checkpoint的hdfs目录(若干次)

于是乎!!!可以正常运行不会挂掉了!!!但是!!过了20-30分钟还是会挂掉!!并且出现同样的错误!!,每次都要重新恢复目录才能正常运行!!!!

而且查看了此时的/usr/data/logs/userlogs/下的steaming的任务日志,发现了2个问题!!!!

先是大量的获取0个非空块(其实正常情况也会出现,但不是大量的) 然后跳出下一个错误如下

我的天!!!这啥错误!

百度了下,这个错误信息文字好像是自定义的,也没百度到相关错误.一般感觉得话像是代码错误,但是这代码都快半年没更改了!!怎么可能!!!

最后!!!关键来了!修复了!怎么修复的呢如下

我将streaming路径下所有带checkpoint字眼的文件全删除了!然后重启streaming任务!恢复!!!!!!!!!!!!!!!!!!!!

然后我查看了网上相关文档资料

应该就是这个问题了,完全符合我们现有的工作环境!  相关资料链接 : https://blog.csdn.net/rlnLo2pNEfx9c/article/details/81417061

不过我还是不明白那些个错误代表了什么,和删除checkpoint文件到底发生了什么,如有大佬知道,请做出点评与回复

----互帮互助才有提升!

关于sparkStreaming(spark on yarn)的一个坑!的更多相关文章

  1. 大数据学习day34---spark14------1 redis的事务(pipeline)测试 ,2. 利用redis的pipeline实现数据统计的exactlyonce ,3 SparkStreaming中数据写入Hbase实现ExactlyOnce, 4.Spark StandAlone的执行模式,5 spark on yarn

    1 redis的事务(pipeline)测试 Redis本身对数据进行操作,单条命令是原子性的,但事务不保证原子性,且没有回滚.事务中任何命令执行失败,其余的命令仍会被执行,将Redis的多个操作放到 ...

  2. Spark on Yarn年度知识整理

    大数据体系结构: Spark简介 Spark是整个BDAS的核心组件,是一个大数据分布式编程框架,不仅实现了MapReduce的算子map 函数和reduce函数及计算模型,还提供更为丰富的算子,如f ...

  3. spark跑YARN模式或Client模式提交任务不成功(application state: ACCEPTED)

    不多说,直接上干货! 问题详情 电脑8G,目前搭建3节点的spark集群,采用YARN模式. master分配2G,slave1分配1G,slave2分配1G.(在安装虚拟机时) export SPA ...

  4. Spark通过YARN提交任务不成功(包含YARN cluster和YARN client)

    无论用YARN cluster和YARN client来跑,均会出现如下问题. [spark@master spark-1.6.1-bin-hadoop2.6]$ jps 2049 NameNode ...

  5. spark跑YARN模式或Client模式提交任务不成功(application state: ACCEPTED)(转)

    不多说,直接上干货! 问题详情 电脑8G,目前搭建3节点的spark集群,采用YARN模式. master分配2G,slave1分配1G,slave2分配1G.(在安装虚拟机时) export SPA ...

  6. 配置Spark on YARN集群内存

    参考原文:http://blog.javachen.com/2015/06/09/memory-in-spark-on-yarn.html?utm_source=tuicool 运行文件有几个G大,默 ...

  7. Spark on Yarn 学习(一)

    最近看到明风的关于数据挖掘平台下实用Spark和Yarn来做推荐的PPT,感觉很赞,现在基于大数据和快速计算方面技术的发展很快,随着Apache基金会上发布的一个个项目,感觉真的新技术将会不断出现在大 ...

  8. Spark on Yarn:任务提交参数配置

    当在YARN上运行Spark作业,每个Spark executor作为一个YARN容器运行.Spark可以使得多个Tasks在同一个容器里面运行. 以下参数配置为例子: spark-submit -- ...

  9. 运行 Spark on YARN

    运行 Spark on YARN Spark 0.6.0 以上的版本添加了在yarn上执行spark application的功能支持,并在之后的版本中持续的 改进.关于本文的内容是翻译官网的内容,大 ...

随机推荐

  1. Django Ajax的使用

    简介: AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的编程语言,而是一种使用现有标准的新方法. AJAX ...

  2. Scratch GUI

    原文地址:https://github.com/LLK/scratch-gui/wiki/Getting-Started Getting Started   Bryce Taylor edited t ...

  3. 伪数组 arguments

    arguments代表的是实参.有个讲究的地方是:arguments只在函数中使用. (1)返回函数实参的个数:arguments.length 例子: fn(2,4); fn(2,4,6); fn( ...

  4. iOS设计模式 - 外观

    iOS设计模式 - 外观 原理图 说明 1. 当客服端需要使用一个复杂的子系统(子系统之间关系错综复杂),但又不想和他们扯上关系时,我们需要单独的写出一个类来与子系统交互,隔离客户端与子系统之间的联系 ...

  5. 软件磁盘阵列 (Software RAID)

    什么是 RAID 磁盘阵列全名是『 Redundant Arrays of Inexpensive Disks, RAID 』,容错式廉价磁盘阵列. RAID 可以通过一些技术(软件或硬件),将多个较 ...

  6. setfacl 命令的常用用法

    setfacl命令----可以用来细分linux下的文件权限. chmod命令----可以把文件权限分为u,g,o三个组,而setfacl可以对每一个文件或目录设置更精确的文件权限. 换句话说,set ...

  7. MySQL 数据库--内置功能

    一 视图 视图:是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 优点:们可以把查询过程中的临 ...

  8. php读取大文件如日志文件

    需求如下: 现有一个1G左右的日志文件,大约有500多万行, 用php返回最后几行的内容. 1. 直接采用file函数来操作 or file_get_content() 肯定报内存溢出注: 由于 fi ...

  9. Java的Stream流

    yi.控制台输入输出流, 1.读取控制台输入 Java的控制台输入由System.in完成.为了获得一个绑定到控制台的字符流,可以把System.in包装在一个BufferedReader对象中来创建 ...

  10. CentOS7.X安装Redis-4.0.8以及Redis集群搭建

    安装redis 安装前的准备 yum install \ vim \ wget \ make \ gcc \ gcc-c++ \ automake \ autoconf \ -y \ 下载解压并安装 ...