Spark2.0源码阅读环境搭建既开发环境搭建图解(2)

打开项目的时候,IDEA会根据Maven工程的POM文件自动下载所需要的Jar包:

这里写图片描述


等待。。。。。。
终于jar包下载完成,打开了项目,如下图所示:

这里写图片描述


这里写图片描述

4.3 设置项目的JDK

打开File–>Project Structure–>Platform settings–>SDKS选择Java的安装路径即可Apply即可

这里写图片描述


这里写图片描述


然后选择Setup JDK,就会自动识别我们刚才设置的的JDK

这里写图片描述


等待项目Updating……

这里写图片描述


项目更新完之后效果如下图所示:(没有报错了)

这里写图片描述


这里写图片描述

4.4 测试运行examples

这里写图片描述


有问题:(各种找不到呗)

Error:(45, 66) not found: type SparkFlumeProtocol val transactionTimeout: Int, val backOffInterval: Int) extends SparkFlumeProtocol with Logging { Error:(70, 39) not found: type EventBatch override def getEventBatch(n: Int): EventBatch = { Error:(85, 13) not found: type EventBatch new EventBatch("Spark sink has been stopped!", "", java.util.Collections.emptyList())

这是下载jar包的时候,没有下载完全,再来一次就行,或者再来多次就行了。
View –> Tool Windows –> Maven Projects –>Generate Sources and Update Folders For All Projects(两个箭头首尾相连的那个按钮),然后等待…(这个过程如果你需要关闭idea,随意就行,因为重启idea后它会继续)

这里写图片描述


这里写图片描述


(我这里来了两次,终于下载完全了,现在是编译的过程,没有报错了,一大堆Warning…不管咯)

这里写图片描述

编译成功之后,如下图所示:

这里写图片描述

运行一个Example实例:
运行LocalPi,又报错了:

Exception in thread "main" java.lang.NoClassDefFoundError: scala/Function1 at org.apache.spark.examples.LocalPi.main(LocalPi.scala) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) Caused by: java.lang.ClassNotFoundException: scala.Function1 at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 6 more Process finished with exit code 1

错误原因分析:Scala 的版本与 Spark2.0所使用的Scala版本不匹配

这里Spark2.0默认使用的是Scala2.11.8,所以我们也得将我们的Scala调整为Scala2.11.8

IDEA安装的Scala插件里所对应的Scala版本不是2.11.8,具体是哪个版本我们得查看一下。

更多Spark相关教程见以下内容

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14486.html