spark-yarn 模式 jar包优化

在yarn模式下,会上传jar包到yarn来执行spark程序,如果每次都上传,很耗时间,而且如果是阿里云的机器,上传很慢,180m的jar要上传十几分钟,所以要提前上传到hdfs中去。

spark支持如下几个参数

spark.yarn.jars:只能指定具体jar包,在spark1.6.2(包括)以前,从官网上可以下载一个大的jar包,写上这个jar包即可,但是在2.0过后,就成为了一大堆小包

spark.yarn.archive:这个支持文件夹,但是有一点要注意,

.set("spark.yarn.archive","hdfs://node2:8020/user/xiaokan/assembly/target/scala-2.11/jars")

.set("spark.yarn.archive","hdfs://node2:8020/user/xiaokan/assembly/target/scala-2.11/jars/")

只有第一种写法正确,第二种错误,第二种写法不会读取任何jar包。

时间: 2024-10-10 07:30:21

spark-yarn 模式 jar包优化的相关文章

Spark- Spark Yarn模式下跑yarn-client无法初始化SparkConext,Over usage of virtual memory

在spark yarn模式下跑yarn-client时出现无法初始化SparkContext错误. 17/09/27 16:17:54 INFO mapreduce.Job: Task Id : attempt_1428293579539_0001_m_000003_0, Status : FAILED Container [pid=7847,containerID=container_1428293579539_0001_01_000005] is running beyond virtual

IDEA使用maven插件打jar包流程

idea使用maven插件打jar包步骤以及遇到的问题 idea自带了maven工具,idea右边点击maven选项: 一.在pom中添加插件,直接复制就好,如下选项 <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.4</version> <configuration> <descriptorRefs> <descriptorRef

spark on yarn运行产生jar包冲突问题

1.1 问题描述 Spark Streaming程序解析protobuf序列化的数据时,--jars 来添加依赖的protobuf-java-3.0.0.jar包,使用local模式程序正常,使用yarn模式时会报找不到方法的错误,如下所示: 1.2 解决方法 分析local模式能运行,yarn模式不能运行的原因是,用户提交的protobuf-java-3.0.0.jar与SPARK_HOME/lib下的protobuf-java-2.5.0.jar冲突了,默认会优先加载SPARK_HOME/l

spark on yarn运行产生缺jar包错误及解决办法

1.本地运行出错及解决办法 当运行如下命令时: ./bin/spark-submit --class org.apache.spark.examples.mllib.JavaALS --master local[*] /opt/cloudera/parcels/CDH-5.1.2-1.cdh5.1.2.p0.3/lib/hadoop-yarn/lib/spark-examples_2.10-1.0.0-cdh5.1.2.jar /user/data/netflix_rating 10 10 /u

将spark依赖包传入HDFS_spark.yarn.jar和spark.yarn.archive的使用

一.参数说明 启动Spark任务时,在没有配置spark.yarn.archive或者spark.yarn.jars时, 会看到不停地上传jar,非常耗时:使用spark.yarn.archive可以大大地减少任务的启动时间,整个处理过程如下. 二.spark.yarn.archive使用 1.在本地创建zip文件 [email protected]:~/env/spark$ cd jars/ [email protected]:~/env/spark$ zip spark2.0.0.zip .

spark提交jar包时出现unsupported major.minor version 52.0错误的解决方案

一.问题: 最近在spark集群上做一个项目,打包提交jar包时,出现了unsupported major.minor version 52.0的报错,而在local模式运行却能正常运行! 二.错误原因: 查阅诸多资料得出的结论就是:项目编译得到的class文件的版本高于运行环境中jre的版本号,高版本JDK编译的class不能在低版本的jvm虚拟机下运行,否则就会报这类错,因此无法运行!49,50,51,52是Java编译器内部的版本号,版本对应信息如下: Unsupported major.

spark从入门到放弃 之 分布式运行jar包

scala代码如下: import org.apache.spark.SparkConf import org.apache.spark.SparkContext import org.apache.spark.SparkContext._ /** * 统计字符出现次数 */ object WordCount { def main(args: Array[String]) { if (args.length < 1) { System.err.println("Usage: <fil

Spark学习笔记-如何运行wordcount(使用jar包)

IDE:eclipse Spark:spark-1.1.0-bin-hadoop2.4 scala:2.10.4 创建scala工程,编写wordcount程序如下 package com.luogankun.spark.base import org.apache.spark.SparkConf import org.apache.spark.SparkContext import org.apache.spark.SparkContext._ /** * 统计字符出现次数 */ object

YARN环境中应用程序JAR包冲突问题的分析及解决

Hadoop框架自身集成了很多第三方的JAR包库.Hadoop框架自身启动或者在运行用户的MapReduce等应用程序时,会优先查找Hadoop预置的JAR包.这样的话,当用户的应用程序使用的第三方库已经存在于Hadoop框架的预置目录,但是两者的版本不同时,Hadoop会优先为应用程序加载Hadoop自身预置的JAR包,这种情况的结果是往往会导致应用程序无法正常运行. 下面从我们在实践中遇到的一个实际问题出发,剖析Hadoop on YARN 环境下,MapReduce程序运行时JAR包查找的