spark on yarn任务提交缓慢解决
1.为什么要让运行时Jar可以从yarn端访问
spark2以后,原有lib目录下的大JAR包被分散成多个小JAR包,原来的spark-assembly-*.jar已经不存在
每一次我们运行的时候,如果没有指定
spark.yarn.archive or spark.yarn.jars
Spark将在安装路径下的Jar目录,将其所有的Jar包打包然后将其上传到分布式缓存(官网上的原话是:To make Spark runtime jars accessible from YARN side, you can specify spark.yarn.archive or spark.yarn.jars. For details please refer to Spark Properties. If neither spark.yarn.archive nor spark.yarn.jars is specified, Spark will create a zip file with all jars under $SPARK_HOME/jars and upload it to the distributed cache.)
这里以简单地写了一个wordcount.scala为例,将其打包然后部署到Spark集群上运行
object WordCount {
def main(args: Array[String]): Unit = {
if (args.length != )
println("AppName + FilePath")
val conf = new SparkConf()
// .setMaster("local[4]")
.setAppName(args())
val sc = new SparkContext(conf)
val lines = sc.textFile(args())
val flatRDD = lines.flatMap(_.split(" ")).map((_, )).reduceByKey(_ + _).collect.foreach(println)
}
}
观察日志:

yarn.Client: Neither spark.yarn.jars nor spark.yarn.archive is set, falling back to uploading libraries under SPARK_HOME.
大致的意思说找不到spark.yarn.jars nor spark.yarn.archive,回到spark安装目录上传运行时的Jar包
观察一下SparkUI,这里以collect为例子

点进去。观察他的Scheduler Delay

可以看到Scheduler Delay=557-457=100
2.调优办法
- 首先将Spark安装路径下的所有jar包上传到HDFS上,我是上传到了
/system/sparkJar/jars

- 接着在spark的conf目录下的
spark-defaults.conf末尾添加上这一行spark.yarn.jars hdfs://172.17.11.85:9000/system/sparkJar/jars/*.jar

3.调优之后与调优之前的对比
- 调优之后日志变化:

可以看到它已经不用上传Spark运行时Jar包到分布式缓存中了
- 看看UI
还是相同的界面:

还是看Scheduler Delay
发现Scheduler Delay=313-263=50
与调优之前时间整整缩短了一半,Scheduler Delay从100缩短到了50
spark on yarn任务提交缓慢解决的更多相关文章
- Spark On Yarn:提交Spark应用程序到Yarn
转载自:http://lxw1234.com/archives/2015/07/416.htm 关键字:Spark On Yarn.Spark Yarn Cluster.Spark Yarn Clie ...
- spark on yarn 无法提交任务问题
java.lang.NoClassDefFoundError: com/sun/jersey/api/client/config/ClientConfig spark任务提交出错. 原因: spark ...
- Spark on Yarn:任务提交参数配置
当在YARN上运行Spark作业,每个Spark executor作为一个YARN容器运行.Spark可以使得多个Tasks在同一个容器里面运行. 以下参数配置为例子: spark-submit -- ...
- 【原创】大叔经验分享(19)spark on yarn提交任务之后执行进度总是10%
spark 2.1.1 系统中希望监控spark on yarn任务的执行进度,但是监控过程发现提交任务之后执行进度总是10%,直到执行成功或者失败,进度会突然变为100%,很神奇, 下面看spark ...
- Spark on Yarn遇到的问题及解决思路
原文:http://www.aboutyun.com/thread-9425-1-1.html 问题导读1.Connection Refused可能原因是什么?2.如何判断内存溢出,该如何解决?扩展: ...
- spark跑YARN模式或Client模式提交任务不成功(application state: ACCEPTED)
不多说,直接上干货! 问题详情 电脑8G,目前搭建3节点的spark集群,采用YARN模式. master分配2G,slave1分配1G,slave2分配1G.(在安装虚拟机时) export SPA ...
- Spark通过YARN提交任务不成功(包含YARN cluster和YARN client)
无论用YARN cluster和YARN client来跑,均会出现如下问题. [spark@master spark-1.6.1-bin-hadoop2.6]$ jps 2049 NameNode ...
- spark利用yarn提交任务报:YARN application has exited unexpectedly with state UNDEFINED
spark用yarn提交任务会报ERROR cluster.YarnClientSchedulerBackend: YARN application has exited unexpectedly w ...
- spark跑YARN模式或Client模式提交任务不成功(application state: ACCEPTED)(转)
不多说,直接上干货! 问题详情 电脑8G,目前搭建3节点的spark集群,采用YARN模式. master分配2G,slave1分配1G,slave2分配1G.(在安装虚拟机时) export SPA ...
随机推荐
- EGit系列第三篇——远程提交代码
接着上篇,把本地项目提交一次才能Pull,为什么要Pull而不直接Remote Push呢,因为本地和远程仓库内容不一样(通常在远程仓库第一次新建项目会带一个README.md), 要先把远程仓库的东 ...
- python单引号(')、双引号(")、三引号(''',""")
python对字符串的表示方法比c更有灵活性,但是也更难理解. 为了在平时使用.看代码过程中对着单引号(').双引号(").三引号(''',""")不混淆,知道 ...
- CSS3 水平翻转
.button_1:hover #button1_img,.button_2:hover #button2_img{ box-shadow: 0 0 10px #9AFE2E; animation: ...
- java注解和反射学习
spring框架很多地方都应用了注解,如@controller,所以要学会自定义注解及注解处理器. Class<?> cl=Class.froName(className) //通过类名加 ...
- 7.8CSS部分的学习!
<!DOCTYPE html> <html> <head> <title>CSS元素选择器</title> <style type=& ...
- J - Intersection
来源poj 1410 You are to write a program that has to decide whether a given line segment intersects a g ...
- 微软VBS生成Excel内容和图表示例
<HTML> <BODY> <INPUT id=button1 name=button1 type=button value=Button> <SCRIPT ...
- Windows环境下安装Linux
怎样实现在现有的Windows系统上安装Linux,实现双系统启动
- ES6:export default 和 export 区别
export default 和 export 区别: 1.export与export default均可用于导出常量.函数.文件.模块等 2.你可以在其它文件或模块中通过import+(常量 | 函 ...
- Dijkstra's algorithm
小结: 1.图论 两点间最短路径 https://en.m.wikipedia.org/wiki/Dijkstra%27s_algorithm Dijkstra's algorithm to find ...