Spark 常见问题小结
原文地址:http://www.aboutyun.com/thread-9946-1-1.html
--------------------------------------
问题导读
1、当前集群的可用资源不能满足应用程序的需求,怎么解决?
2、内存里堆的东西太多了,有什么好办法吗?
1、WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster uito ensure that workers are registered and have sufficient memory
当前的集群的可用资源不能满足应用程序所请求的资源。
资源分2类: cores 和 ram
Core代表对执行可用的executor slots
Ram代表每个Worker上被需要的空闲内存来运行你的Application。
解决方法:
应用不要请求多余空闲可用资源的
关闭掉已经执行结束的Application
2、Application isn’t using all of the Cores: How to set the Cores used by a Spark App
设置每个App所能获得的core
解决方法:
spark-env.sh里设置spark.deploy.defaultCores
或
spark.cores.max
3、Spark Executor OOM: How to set Memory Parameters on Spark
OOM是内存里堆的东西太多了
1、增加job的并行度,即增加job的partition数量,把大数据集切分成更小的数据,可以减少一次性load到内存中的数据量。InputFomart, getSplit来确定。
2、spark.storage.memoryFraction
管理executor中RDD和运行任务时的内存比例,如果shuffle比较小,只需要一点点shuffle memory,那么就调大这个比例。默认是0.6。不能比老年代还要大。大了就是浪费。
3、spark.executor.memory如果还是不行,那么就要加Executor的内存了,改完executor内存后,这个需要重启。
4、Shark Server/ Long Running Application Metadata Cleanup
Spark程序的元数据是会往内存中无限存储的。spark.cleaner.ttl来防止OOM,主要出现在Spark Steaming和Shark Server里。
export SPARK_JAVA_OPTS +="-Dspark.kryoserializer.buffer.mb=10 -Dspark.cleaner.ttl=43200"
5、Class Not Found: Classpath Issues
问题1、缺少jar,不在classpath里。
问题2、jar包冲突,同一个jar不同版本。
解决1:
将所有依赖jar都打入到一个fatJar包里,然后手动设置依赖到指定每台机器的DIR。
val conf = new SparkConf().setAppName(appName).setJars(Seq(System.getProperty("user.dir") + "/target/scala-2.10/sparktest.jar"))
解决2:
把所需要的依赖jar包都放到default classpath里,分发到各个worker node上。
关于性能优化:
第一个是sort-based shuffle。这个功能大大的减少了超大规模作业在shuffle方面的内存占用量,使得我们可以用更多的内存去排序。
第二个是新的基于Netty的网络模块取代了原有的NIO网络模块。这个新的模块提高了网络传输的性能,并且脱离JVM的GC自己管理内存,降低了GC频率。
第三个是一个独立于Spark executor的external shuffle service。这样子executor在GC的时候其他节点还可以通过这个service来抓取shuffle数据,所以网络传输本身不受到GC的影响。
过去一些的参赛系统软件方面的处理都没有能力达到硬件的瓶颈,甚至对硬件的利用率还不到10%。而这次我们的参赛系统在map期间用满了3GB/s的硬盘带宽,达到了这些虚拟机上八块SSD的瓶颈,在reduce期间网络利用率到了1.1GB/s,接近物理极限。
参考文献:
http://www.datastax.com/dev/blog/common-spark-troubleshooting
http://www.csdn.net/article/2014-11-06/2822505
-------------
更多的Java,Android,大数据,J2EE,Python,数据库,Linux,Java架构师,教程,视频请访问:
http://www.cnblogs.com/zengmiaogen/p/7083694.html
Spark 常见问题小结相关推荐
- android视频播放异常,Android 播放视频常见问题小结
在android 开发中常见到视频播放的问题,在常规的视频中 有直接用videoView + MediaController 或者 mediaController + serfercie holder ...
- mysql 安装版和解压版的区别_Mysql5.7解压版的安装和卸载及常见问题小结
一.安装 1.下载 到mysql官网 http://dev.mysql.com/downloads/mysql/ 下载mysql 注:msi的是安装版 2.解压 解压到想安装的目录下,我的是D:mys ...
- spark常见问题处理
1.spark thriftserver报以下错误,其他诸如hive/sparksql等方式均正常 ERROR ActorSystemImpl: Uncaught fatal error from t ...
- css网页布局问题,CSS网页布局常见问题小结
ort 来输入外部样式表,早晚您会发现IE有"闪烁"的毛病.在应用CSS样式之前,未经格式化的HTML文本会短暂地出现.这是可以避免的. 四. 别指望 min-width 在IE中 ...
- spark之OOM常见问题梳理(一)
我想变成那陪着疲倦的你一直看海的小小的白色的椅子. -王小波 一.Spark报错信息 问题一 1.描述 org.apache.spark.shuffle.FetchFailedException 这种 ...
- Spark 调优技巧总结
Spark 是大数据处理必备技术之一,在开发工作中必然会面对性能调优和各种问题故障的处理,那么面试官也最爱在这些方面进行机关枪式的提问,本 Chat 就针对当前实际开发工作中常遇到的热门和冷门问题进行 ...
- 【Spark】SparkStreaming-流处理-规则动态更新-解决方案
SparkStreaming-流处理-规则动态更新-解决方案 image2017-10-27_11-10-53.png (1067×738)elasticsearch-headElasticsearc ...
- 大数据Spark企业级实战 PDF 下载 和目录
大数据Spark企业级实战 PDF完整版 下载地址 http://download.csdn.net/detail/laoge/9504794 基本信息 书名:大数据Spark企业级实战 定价:12 ...
- spark学习笔记!!!!
文章目录 1.spark概述 2.spark运行架构 2.1.核心组件 2.2.核心概念 2.3.Spark提交流程 3.spark核心编程 3.1.RDD 3.1.1.什么是RDD 3.1.2.RD ...
最新文章
- oracle 11g安装教程
- 江陵中学2021高考成绩查询,2021高考序幕拉开 荆州38080名考生赴考
- Extjs中引入JSP页面
- 论文笔记_S2D.57_2018-IROS_LIMO:激光雷达单目视觉里程计
- Chapter 2 大规模MIMO系统信息论基础及信道容量分析
- 基于vue的html编辑器,基于vue富文本编辑器的慢慢人生路
- QT对字符串简单加、解密
- android充电线排序,安卓数据线分类有哪些
- 在Android上将实时摄像头与AI危害检测配合使用
- 易观国际邓中元:移动互联网竞合并存
- 边缘计算与智慧城市应用
- 捡到的苹果手机怎么解id锁_苹果手机维修中软解和硬解的区别
- html5 swipejs,移动web最简洁的滑动效果Swipe JS(适合初学者)
- Java UI设计 计算三角形周长
- 增加对IE11的兼容
- 老男孩python第六期
- 使用NLP检测和对抗AI生成的假新闻
- Deadlock 和 Deadlock Prevention
- 制造业ERP: 生产控制是核心
- thymeleaf的文本内联th:inline
热门文章
- 云函数查询_速览 | 京东云5月重要产品与功能更新
- 上证指数30年k线图_技术预判2020:上证指数要突破3500点才会“井喷”
- 10万码农五年的C语言笔记!你现在知道别人为什么这么优秀了吗?
- js连续指定两次或者多次的click事件(解决办法)
- 当我不再依赖你的时候说说_不要依赖任何人说说 不要指望别人的经典话
- php 递归实现无限极分类和排序_PHP实现选择排序
- Python 装饰器详解(中)
- fopen php 读取_PHP使用fopen与file_get_contents读取文件实例分享
- 东北大学c语言及程序设计,东大20秋学期《C语言及程序设计》在线平时作业1参考...
- linux内核调度 0号进程,Linux内核源代码情景分析---第四章 进程与进程调度