Windows使用Idea编译spark源码

目录

 

需要准备环境

一、将源码导入IDEA

二、进行build(编译)

三、可能出现问题

四、gitBash中进行编译

五、进行自带例子测试


需要准备环境

jdk1.8.0
scala 2.11
maven 3.5.9
python
idea中安装了scala pluin
Git

一、将源码导入IDEA

1、在idea中安装scala插件

此处我已安装完成,请注意选择对应的版本

2、下载spark源码,并解压

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

     

3、打开spark源码下的pom.xml文件,修改对应的java和intellij里的maven版本

     

4、打开intellij,inport Project

     将saprk源码添加进来

     

     选择Maven

     

     勾选箭头指示的选项

     

     添加yarn和hadoop2.4选项,其他保持默认 随后一直next直至创建完成。

二、进行build(编译)

1、工程导入以后,点击右侧Maven Project,然后点击第二个按钮,Generate Sources and Update Folders For All Projects,点击后Maven会下载编译需要的源码,需要等待一段时间,长短依赖网络的好坏

     

2、此过程完成之后就可点击菜单的build进行编译,中间会出现一些问题,不要害怕,慢慢解决

三、可能出现问题

      问题1

     解决方法:

      

      问题2、

       spark\external\flume-sink\src\main\scala\org\apache\spark\streaming\flume\sink\SparkAvroCallbackHandler.scala

       Error:(45, 66) not found: type SparkFlumeProtocol

      解决方案:有时需要重复进行几次

     

      问题3、

       \spark\sql\catalyst\src\main\scala\org\apache\spark\sql\catalyst\parser\AstBuilder.scala

        Error:(34, 45) object SqlBaseParser is not a member of package org.apache.spark.sql.catalyst.parser

        import org.apache.spark.sql.catalyst.parser.SqlBaseParser._

        解决方案:

        类似于问题2,请参照问题2的解决方案

       一般解决这三个问题后就可以编译成功,不要管警告

      

       问题4、关于用example里的例子测试的问题       

     

     解决方案:

     这个问题是需要在example model里将编译打包的jar包添加进来。后面讲Maven编译打包

      

四、gitBash中进行编译

为什么使用gitbash,因为在idea中编译时会出现各种各种的报错,gitbash中拥有一些idea中没有的环境。可能出现如下错误,使用gitbash即可解决

    Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.8:run (default) on project spark-core_2.11: An Ant BuildException has occured: Execute failed: java.io.IOException: Cannot run program "bash" (in directory "C:\soft\spark\spark-2.0.0\core"): CreateProcess error=2,
[ERROR] around Ant part ...<exec executable="bash">... @ 4:27 in C:\soft\spark\spark-2.0.0\core\target\antrun\build-main.xml
[ERROR] -> [Help 1]
     

使用gitbash进入项目的根目录下,执行下面2条命令

export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"
./build/mvn -Pyarn -Phadoop-2.6 -Dhadoop.version=2.6.0 -DskipTests clean package

之后便是漫长的等待了,build success,so nice

      

五、进行自带例子测试

Spark PI

点击edit configurations进行配置,通过名字找到SparkPi

    

注意如果在Use of module classpath选项中如果为空时,勾选spark-examples。

        解决如下

    再次执行,运行成功

  

参考文章

http://www.cnblogs.com/lyy-blog/p/9856824.html

https://blog.csdn.net/u011464774/article/details/76704785

猜你喜欢

转载自blog.csdn.net/make__It/article/details/84258916