原文地址: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 常见问题小结相关推荐

  1. android视频播放异常,Android 播放视频常见问题小结

    在android 开发中常见到视频播放的问题,在常规的视频中 有直接用videoView + MediaController 或者 mediaController + serfercie holder ...

  2. mysql 安装版和解压版的区别_Mysql5.7解压版的安装和卸载及常见问题小结

    一.安装 1.下载 到mysql官网 http://dev.mysql.com/downloads/mysql/ 下载mysql 注:msi的是安装版 2.解压 解压到想安装的目录下,我的是D:mys ...

  3. spark常见问题处理

    1.spark thriftserver报以下错误,其他诸如hive/sparksql等方式均正常 ERROR ActorSystemImpl: Uncaught fatal error from t ...

  4. css网页布局问题,CSS网页布局常见问题小结

    ort 来输入外部样式表,早晚您会发现IE有"闪烁"的毛病.在应用CSS样式之前,未经格式化的HTML文本会短暂地出现.这是可以避免的. 四. 别指望 min-width 在IE中 ...

  5. spark之OOM常见问题梳理(一)

    我想变成那陪着疲倦的你一直看海的小小的白色的椅子. -王小波 一.Spark报错信息 问题一 1.描述 org.apache.spark.shuffle.FetchFailedException 这种 ...

  6. Spark 调优技巧总结

    Spark 是大数据处理必备技术之一,在开发工作中必然会面对性能调优和各种问题故障的处理,那么面试官也最爱在这些方面进行机关枪式的提问,本 Chat 就针对当前实际开发工作中常遇到的热门和冷门问题进行 ...

  7. 【Spark】SparkStreaming-流处理-规则动态更新-解决方案

    SparkStreaming-流处理-规则动态更新-解决方案 image2017-10-27_11-10-53.png (1067×738)elasticsearch-headElasticsearc ...

  8. 大数据Spark企业级实战 PDF 下载 和目录

    大数据Spark企业级实战  PDF完整版 下载地址 http://download.csdn.net/detail/laoge/9504794 基本信息 书名:大数据Spark企业级实战 定价:12 ...

  9. 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 ...

最新文章

  1. oracle 11g安装教程
  2. 江陵中学2021高考成绩查询,2021高考序幕拉开 荆州38080名考生赴考
  3. Extjs中引入JSP页面
  4. 论文笔记_S2D.57_2018-IROS_LIMO:激光雷达单目视觉里程计
  5. Chapter 2 大规模MIMO系统信息论基础及信道容量分析
  6. 基于vue的html编辑器,基于vue富文本编辑器的慢慢人生路
  7. QT对字符串简单加、解密
  8. android充电线排序,安卓数据线分类有哪些
  9. 在Android上将实时摄像头与AI危害检测配合使用
  10. 易观国际邓中元:移动互联网竞合并存
  11. 边缘计算与智慧城市应用
  12. 捡到的苹果手机怎么解id锁_苹果手机维修中软解和硬解的区别
  13. html5 swipejs,移动web最简洁的滑动效果Swipe JS(适合初学者)
  14. Java UI设计 计算三角形周长
  15. 增加对IE11的兼容
  16. 老男孩python第六期
  17. 使用NLP检测和对抗AI生成的假新闻
  18. Deadlock 和 Deadlock Prevention
  19. 制造业ERP: 生产控制是核心
  20. thymeleaf的文本内联th:inline

热门文章

  1. 云函数查询_速览 | 京东云5月重要产品与功能更新
  2. 上证指数30年k线图_技术预判2020:上证指数要突破3500点才会“井喷”
  3. 10万码农五年的C语言笔记!你现在知道别人为什么这么优秀了吗?
  4. js连续指定两次或者多次的click事件(解决办法)
  5. 当我不再依赖你的时候说说_不要依赖任何人说说 不要指望别人的经典话
  6. php 递归实现无限极分类和排序_PHP实现选择排序
  7. Python 装饰器详解(中)
  8. fopen php 读取_PHP使用fopen与file_get_contents读取文件实例分享
  9. 东北大学c语言及程序设计,东大20秋学期《C语言及程序设计》在线平时作业1参考...
  10. linux内核调度 0号进程,Linux内核源代码情景分析---第四章 进程与进程调度