记一次spark任务调优过程
最近跑了一个spark任务(逻辑回归训练建模的),数据量是3000多万左右,在跑的过程中出现了各种错误,跑了8h左右,结果还是错了.最后下载了日志,分析之后,做了些修改,最终跑成功了,而且只用了0.8h,这里记录下:
1.maven打包失败问题:
我的项目是用maven管理的,在打包时,因为之前的target没有删除干净,结果导致打包失败.改用如下命令后成功:
mvn clean install assembly:assembly
2.yarn集群时间同步问题
集群主节点与从节点的时间不一致,导致失败,解决如下:
新建一台ntp服务器,该服务器和yarn全部安装ntp和ntpdate: yum -y install ntp ntpdate 并开启服务,开启开机自启
service ntpd start, chkconfig ntpd on
a.ntp服务器配置
vim /etc/ntp.conf(添加如下):
server 210.72.145.44 perfer
restrict 210.72.145.44 nomodify notrap noquery
restrict 202.112.10.36 nomodify notrap noquery
restrict 59.124.169.83 nomodify notrap noquery
server 127.127.1.0
fudge 127.127.1.0 stratum 10
b.集群机器配置
vim /etc/ntp.conf(添加如下, 192.168.0.111是ntp服务器ip):
server 192.168.0.111
estrict 192.168.0.111 nomodify notrap noquery
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
c.修改保存后,重启ntp服务,再同步时间: ntpdate -u 192.168.0.111, 之后可用date命令查看集群机器是否同步.
3.spark任务调优及各种timeout错误解决
a.任务提交脚本修改(添加如下):
--conf spark.shuffle.consolidateFiles=true \
--conf spark.speculation=true \
--conf spark.task.maxFailures=8 \
--conf spark.network.timeout=300 \
--conf spark.yarn.max.executor.failures=100 \
--conf spark.executor.heartbeatInterval=300 \
--conf spark.sql.broadcastTimeout=300 \
也可以在saprk-default.conf里面添加,不过它是全局的.如果yarm集群有多人用的话,还是设置自己的比较好(具体属性值,可自行百度)
b.集群全部机器(hadoop 2.6.1)yarn-site.xml修改:
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
保存后重启hadoop和yarn
c.spark(2.0.2)全部机器 spark-env.sh修改:
export SPARK_MASTER_IP=master
export SPARK_LOCAL_DIRS=/usr/local/src/spark-2.0.2-bin-hadoop2.6
export SPARK_DRIVER_MEMORY=1G
保存后重启saprk
以上修改完毕后,跑spark任务就可以了
如上,记录完毕.
记一次spark任务调优过程相关推荐
- Spark shuffle调优
Spark shuffle是什么 Shuffle在Spark中即是把父RDD中的KV对按照Key重新分区,从而得到一个新的RDD.也就是说原本同属于父RDD同一个分区的数据需要进入到子RDD的不同的分 ...
- Spark官方调优文档翻译(转载)
Spark调优 由于大部分Spark计算都是在内存中完成的,所以Spark程序的瓶颈可能由集群中任意一种资源导致,如:CPU.网络带宽.或者内存等.最常见的情况是,数据能装进内存,而瓶颈是网络带宽:当 ...
- 一文搞清楚 Spark shuffle 调优
Spark shuffle 调优 Spark 基于内存进行计算,擅长迭代计算,流式处理,但也会发生shuffle 过程.shuffle 的优化,以及避免产生 shuffle 会给程序提高更好的性能.因 ...
- Spark性能调优-RDD算子调优篇
Spark性能调优-RDD算子调优篇 RDD算子调优 1. RDD复用 在对RDD进行算子时,要避免相同的算子和计算逻辑之下对RDD进行重复的计算,如下图所示: 对上图中的RDD计算架构进行修改,得到 ...
- spark学习-Spark性能调优(1)
本文要解决的问题: Spark在使用过程中不可避免的需要进行一系列的性能优化,本文就Spark性能调优的基础部分进行总结和归纳(开发调优和资源调优),参考了不少前辈的文章,在此非常感谢. 目的 在大数 ...
- 大数据培训:Spark性能调优与参数配置
Spark性能调优-基础篇 众所周知,正确的参数配置对提升Spark的使用效率具有极大助力,帮助相关数据开发.分析人员更高效地使用Spark进行离线批处理和SQL报表分析等作业. 推荐参数配置模板如下 ...
- 压力机测试软件,一个典型的测试压力机的性能调优过程
原标题:一个典型的测试压力机的性能调优过程 性能测试过程中,不仅仅是对被测系统的性能问题定位.分析.优化,很多时候负责批量请求发起的压力机也存在各类性能瓶颈.毕竟用几千块钱的机器就想把几个亿的机器压瘫 ...
- html5调用系统声音1s响一次_记录一次系统性能调优过程
在线上环境,由于业务场景需要,要求程序能够在普通的4G机器中依然正常运行. 而原来的环境配置为8核16G,微服务部署,一共有6个功能模块. 而现在要求在一台4核4G的设备上正常运行. 问题清单 模块合 ...
- Spark性能调优之资源分配
**性能优化王道就是给更多资源!**机器更多了,CPU更多了,内存更多了,性能和速度上的提升,是显而易见的.基本上,在一定范围之内,增加资源与性能的提升,是成正比的:写完了一个复杂的spark作业之后 ...
最新文章
- linux resource
- 关于SDC沙盒源代码加密
- 乐Phone:还原联想的联想
- 新个税法通过,起征点每月5000元,一图看清你能省多少钱
- 广度优先搜索练习之神奇的电梯
- api idea 开发rest_部分介绍使用IDEA的rest client
- 只想安安静静地敲完一段代码
- 三维坐标转经纬度_Three.js 地理坐标和三维空间坐标的转换
- 652 Find Duplicate Subtrees
- java.lang.ClassNotFoundException: org.apache.commons.codec.DecoderException
- 简述linux开机启动进程,Linux系统启动流程简述
- 动态规划法(九)想要更多例子? 1
- php mysql多表关联删除_MySQL中多表删除方法
- HTML期末大作业~酒店网站模板(HTML+CSS+JavaScript)
- 简单易懂的贝叶斯公式
- 代码在线运行工具(PHP、Python、Java等)
- hdu3987 Harry Potter and the Forbidden Forest 最小割边数
- 影视处理计算机配置,影视后期制作电脑配置需要什么
- 英特尔的指令集体系结构_Intel MIC初探(一):MIC架构及编程模型概览
- hdu 5296 Annoying problem (LCA)
热门文章
- 区块链技术的安全性和隐私性
- 计算机模拟应用,计算机模拟的新应用
- 图扑软件 | 数字孪生智慧水泥工厂
- php substring的用法,substring方法怎么使用
- hibernate生成表中有BLOB字段的javabean,hql查询出现无效列类型异常
- 学习3dmax游戏建模首先是了解他的领域,才能知根知底的学下去
- python绘制路飞_python/路飞项目/1-项目基础/2-虚拟环境的搭建
- linux下的基本命令(六)
- mamba install .....:File not valid: file size doesn‘t match expectation (/home/itis/anaconda3/pk_..
- 成语猜猜看小游戏(三)