使用Spark遇到的一些坑
来源:互联网 发布:数据分析师考试大纲 编辑:程序博客网 时间:2024/05/17 22:36
任何新技术的引入都会历经陌生到熟悉,从最初新技术带来的惊喜,到后来遇到困难时的一筹莫展和惆怅,再到问题解决后的愉悦,大数据新贵Spark同样不能免俗。下面就列举一些我们遇到的坑。
【坑一:跑很大的数据集的时候,会遇到org.apache.spark.SparkException: Errorcommunicating with MapOutputTracker】
这个错误报得很隐晦,从错误日志看,是Spark集群partition了,但如果观察物理机器的运行情况,会发现磁盘I/O非常高。进一步分析会发现原因是Spark在处理大数据集时的shuffle过程中生成了太多的临时文件,造成了操作系统磁盘I/O负载过大。找到原因后,解决起来就很简单了,设置spark.shuffle.consolidateFiles为true。这个参数在默认的设置中是false的,对于linux的ext4文件系统,建议大家还是默认设置为true吧。Spark官方文档的描述也建议ext4文件系统设置为true来提高性能。
【坑二:运行时报Fetch failure错】
在大数据集上,运行Spark程序,在很多情况下会遇到Fetch failure的错。由于Spark本身设计是容错的,大部分的Fetch failure会经过重试后通过,因此整个Spark任务会正常跑完,不过由于重试的影响,执行时间会显著增长。造成Fetch failure的根本原因则不尽相同。从错误本身看,是由于任务不能从远程的节点读取shuffle的数据,具体原因则需要利用:
查看Spark的运行日志,从而找到造成Fetch failure的根本原因。其中大部分的问题都可以通过合理的参数配置以及对程序进行优化来解决。2014年Spark Summit China上陈超的那个专题,对于如何对Spark性能进行优化,有非常好的建议。
当然,在使用Spark过程中还遇到过其他不同的问题,不过由于Spark本身是开源的,通过源代码的阅读,以及借助开源社区的帮助,大部分问题都可以顺利解决。
- 使用Spark遇到的一些坑
- Spark Hive使用中遇到的坑
- spark 使用中会遇到的一些问题及解决思路 spark-shell命令行执行spark hql
- spark中会遇到的一些名词
- spark 使用中会遇到的一些问题及解决思路
- spark 使用中会遇到的一些问题及解决思路
- 使用cordova遇到的一些坑
- WKWebView使用遇到的一些坑
- 使用OkHttp3遇到的一些坑
- 使用Glide遇到的一些坑
- 遇到的Spark的坑
- zeppelin + spark 遇到的坑
- Spark中遇到的一些问题和相应的解决办法
- Hadoop、spark的一些基本使用笔记
- spark 一些算子的使用及优化
- [Spark]那些年我们遇到的Spark的坑
- 【图片加载】Glide的使用以及遇到的一些坑
- angular的ng-grid使用中遇到的一些坑
- 面向对象的特性之—初识封装
- poj1949(拓扑,dp)
- Andorid 支付宝调起H5页面异常 系统繁忙4000
- MPAndroidChart之PieChart源码分析
- javascript对象创建模式
- 使用Spark遇到的一些坑
- iOS 真正的流音频秒播 边缓冲边播放 DOUAudioStreamer框架
- unity音频管理器
- JAVA之Swing程序设计
- HDU 6029 Graph Theory
- lvs-dr模式 安装配置
- Android自定义View之ScrollViewforListView(解决ScrollView嵌套listview,listview不能滑动)
- angularjs中compile的用法
- c++笔试题