关于打包应用程序,提交YARN模式运行问题
来源:5-10 通过统一配置参数管理工程中使用到的参数

慕移动6222658
2020-02-07
首先是对作业的验证,代码中没有用到MySQL的driver,yarn模式运行也可以成功,
问题一:代码中不指定MySQL驱动,也会执行成功,会不会和本机是单节点有关系呢?提交到集群会不会有问题?
问题二:打包运行过程中,首先发现程序抛出,找不到ConfigFactory类的异常,然后我在 spark-submit 命令中加入–jars /Users/zhaohaichao/programming/maven_repository/com/typesafe/config/1.3.3/config-1.3.3.jar 参数提交,程序又抛出找不到MySQL的JDBC驱动的异常
然后我把这两个jar包 复制到了spark/jars 目录下,在conf/spark-env.sh 中配置了SPARK_CLASSPATH
再提交如下命令可以正常运行程序
./bin/spark-submit
–class com.zhc.bigdata.chapter05.DataSourseApp
–master yarn
–name DataSourseApp
–jars jars/mysql-connector-java-5.1.43.jar
–driver-class-path jars/mysql-connector-java-5.1.43.jar
/Users/zhaohaichao/workspace/javaspace/sparksql-train/target/sparksql-train-1.0.jar
想问下pk哥,为什么Maven打包的时候,明明pom.xml 中有相关jar包的依赖,执行提交命令时还需要指定jar包路径呢?问题是出现在Maven的步骤,还是spark的问题?
如果pk哥有时间,希望帮忙解答一下
1回答
-
pom本地能运行,但是打包我们打的是瘦包,也就是说仅打进去代码,并没有打依赖包进去,所以提交服务器运行的时候是需要把除了hadoopspark的依赖包以外的依赖包都提交才可以,除非你打的是胖包。在提交服务器运行时依赖的包要注意区分driver和executor运行时的区别,两者如果都要依赖,那必须两端都得提交对应依赖的jar
012020-02-07
相似问题