spark源码编译

来源:互联网 发布:app inventor 数据库 编辑:程序博客网 时间:2024/04/29 18:14

        最新发布的spark1.1并没有发布经过编译的文件,这给想学习spark但是不会编译的人带来了麻烦,下面分享下自己的编译过程。

        1 准备环境

              (1)Linux环境

              (2)安装JDK(jdk1.6以上)

              (3)安装maven

              (4)能够上网

              (5)下载源码              git clone git://github.com/apache/spark.git -b branch-1.1

        2 设置maven参数

              通过MAVEN_OPTS设置垃圾回收方式和内存大小,官方推荐参数:

              export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"

              如果jdk不是1.8版本,一定要设置内存堆大小。否则编译时会失败(我遇到过),失败时可能的提示如下:

                   

      3  指定hadoop的版本

          由于HDFS上各个版本中通信协议并不是很兼容,因此如果需要从HDFS上读取数据需要在编译spark时指定Hadoop版本。默认情况下,hadoop版本为1.0.4

          对于Hadoop1.x,Cloudera CDH “mr1” distributions,或者hadoop其他不包含yarn框架的版本可以使用如下命令编译。

                

            对于Hadoop 2.x, 0.23.x, Cloudera CDH, 或者其他包含yarn框架的hadoop版本,可以使用如下命令

            

         4 对Hive和JDBC的支持

            为了保证hive整合spark SQL以及JDBC Server和CLI,编译时需要添加选线”-Phive“

   

           然后maven会自动编译,这个过程可能会有一段时间。我编译是发挥了将近40分钟。如果编译成功之后,可以启动spark-shell

 

        原文结合官网文档:http://spark.apache.org/docs/latest/building-with-maven.html

         

0 0