spark on yarn运行产生jar包冲突问题
2024-08-27 04:34:56
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/lib下的jar,而不是你程序的jar,所以会发生“ NoSuchMethodError”。
解决方法:提交参数添加 --conf spark.executor.extraClassPath=$user_jars
如下图所示,注意protobuf-java-3.0.0.jar包要分发到所有节点
此类问题相关参数总结:
属性名称 | 默认值 | 含义 |
---|---|---|
spark.driver.extraClassPath | (none) | 附加到driver的classpath的额外的classpath实体。这个设置存在的主要目的是Spark与旧版本的向后兼容问题。用户一般不用设置这个选项 |
spark.executor.extraClassPath | (none) | 附加到executors的classpath的额外的classpath实体。这个设置存在的主要目的是Spark与旧版本的向后兼容问题。用户一般不用设置这个选项 |
spark.driver.userClassPathFirst | false | 实验性)当在driver中加载类时,是否用户添加的jar比Spark自己的jar, 优先级高。这个属性可以降低Spark依赖和用户依赖的冲突。它现在还是一个实验性的特征。 |
spark.executor.userClassPathFirst | false | 实验性)当在executor中加载类时,是否用户添加的jar比Spark自己的jar优先级高。这个属性可以降低Spark依赖和用户依赖的冲突。它现在还是一个实验性的特征。 |
最新文章
- MD5加密的Java实现
- [BI项目记]-DB脚本同步
- 关于js的闭包
- unity, 按类型查找文件
- SDN跟网络虚拟化的完美结合
- ————————————————————————————杭电ACM————————————————X-POWER————————————————————————————————
- Share Point 创建 TimerJob
- C# 调用控制台程序,并获取输出写入文件
- PeopleCode 处理压缩文件
- C# IO操作磁盘上的txt
- avalon 中require.config源码分析
- RegisterWindowMessage介绍
- CF559C Gerald and Giant Chess
- Centos配置ARP和Tomcat Native
- Windows10 VS2017 C++ Json解析(使用jsoncpp库)
- [uboot] (第三章)uboot流程——uboot-spl代码流程
- OpenCV3三种超像素分割算法源码以及效果
- 如何删除WINDOWS中服务中不再使用的服务?
- sonarQube常见问题及分析
- CentOS简单命令学习:date cal bc
热门文章
- Html table、thead、tr、th、td 标签
- _mount_vendor
- variable 'o' used without having been completely initialized Compiling Vertex program
- python requests 上传文件
- Tomcat配置服务和自启动
- JWT ajax java spingmvc 简洁教程
- 判断网页打开浏览器类型,PC 手机端,微信浏览器,,,
- 两个非空的<;div>;元素inline-block化后出现空白部分解决办法
- GANs用于文本生成
- Angular - - ng-focus、ng-blur