您的位置:首页 > 其它

Spark2.0源码阅读环境搭建 开发环境搭建

2016-08-20 16:05 627 查看
Spark2.0源码阅读环境和Spark开发环境,我们选择使用IDEA社区版,所以下载IDEA社区版;并且使用Java8环境。

1 jdk8安装

下载略



解压到当前目录

tar -xzvf jdk-8u101-linux-x64.tar.gz




…………



查看



移动到相应目录(自己新建的目录)

mv jdk1.8.0_101 /home/hjr/develop/java8




2 IDEA 安装

下载略



解压到当前目录

tar -xzvf ideaIC-2016.2.2.tar.gz




…………..



查看



移动到相应目录

mv idea-IC-162.1628.40 /home/hjr/develop




3 IDEA设置

3.1 Scala插件安装



IDEA最新版界面



打开之后选择设置主题,在选择安装插件,我这里已经安装好了scala插件,就不再截图了



3.2 Git安装

下载地址

https://git-scm.com/downloads/

选择相应的系统下载(我们是linux)





我们是Ubuntu16.04,所以我们使用以下命令在线安装:

apt-get install git




我们是hjr用户,没有root权限,所以加上sudo

sudo apt-get install git






查看版本



4 Spark2.0源码下载

我们使用Github上的Spark源码作为源码下载地址:(也可以直接到Spark官网上面去下载,然后Import进来,都是可以的)

Spark官方的Github源码地址

https://github.com/apache/spark

Spark官网下载地址

http://spark.apache.org/downloads.html

4.1 Check out from Version Control–GitHub



设置GitHub登录信息



密码验证



设置Spark源码下载地址:



点击Clone,开始下载Spark源码



漫长的等待(时长由自己的网络决定)。。。。。。





4.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,具体是哪个版本我们得查看一下:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: