当前位置:   article > 正文

本地提交spark_关于在本地idea当中提交spark代码到远程的错误总结(第一篇)

idea spark提交到远程yarn集群 不打包

最近在做将spark的代码提交到远程当中遇到很多坑,各种各样的错误:

我是在window当中使用idea开发将本地的代码提交到远程的spark集群上,没有用到local的模式去做(在实际的生产当中不会用到local的方式去做,所以没考虑)

我是直接run的方式在idea当中提交代码的,这里采用的standlone的模式和 on yarn(yarn-client) 的模式,先说一下原理:

我们在本地运行实际还是相当于我们将代码远程的提交到集群上运行时一样的,还是相当于spark-submit的方式进行运行的,在这里也有参数配置和打jar包的形式(这是个人的一些见解)

首先我们应该将core-site.xml,hdfs-site.xml,hive-site.xml,yarn-site.xml,这些配置文件全部放在工程目录的resources下面,方便程序加载到这些配置文件。

下面是遇到的问题;

(1) 代码提交完成之后在yarn上面也启动了application,但是那就是一直会失败,然后我去看启动的container发现container尝试三次都失败了,这是什么情况,然后在运行期间查看了一下日志,包log包找不到不可能啊报错如下

Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/Logger

at java.lang.Class.getDeclaredMethods0(Native Method)

at java.lang.Class.privateGetDeclaredMethods(Class.java:2570)

at java.lang.Class.getMethod0(Class.java:2813)

at java.lang.Class.getMethod(Class.java:1663)

at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494)

at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486)

Caused by: java.lang.ClassNotFoundException: org.slf4j.Logger

at java.net.URLClassLoader$1.run(URLClassLoader.java:366)

at java.net.URLClassLoader$1.run(URLClassLoader.java:355)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:354)

at java.lang.ClassLoader.loadClass(ClassLoader.java:425)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/416538
推荐阅读
相关标签
  

闽ICP备14008679号