CentOS6.5下编译spark1.6.0源码

1.安装Java

安装完java后,使用下面命令显示java版本。

[root@localhost Desktop]# java -version
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)

如果是java 7,还需按照官网的提示输入下面命令来配置运行时内存使用情况:

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

2.下载Spark1.6.0

https://github.com/apache/spark/tree/v1.6.0
to /root/spark-1.6.0.zip

[root@localhost ~]# unzip spark-1.6.0.zip 
[root@localhost ~]# cd spark-1.6.0

3.maven安装

执行下面的命令:

build/mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -Phive -Phive-thriftserver -DskipTests clean package

编译选项中-D定义系统属性,-P定义模块文件。mvn会自动下面ZINC,进行增量编译。如果要在上面命令中加入-Dscala-2.11属性,使用指定版本的Scala编译器来编译Spark中的源代码,添加-Dscala-2.11编译选项。同时还需按照按照官网提示在build/mvn命令执行之前输入下面命令:

./dev/change-scala-version.sh 2.11

否则,很有可能在编译SQL模块时进行不下去。如果编译spark时去掉sql模块,那么添加-pl ‘!sql/core,!sql/catalyst,!sql/hive’选项。
如果是为了以后操作表格化数据和利用spark sql,现在可以安装Hive和JDBC服务器、命令行界面(CLI),和thrift-server模块。官网中说spark会默认安装0.13.1版本的Hive模块的。

4.出现错误解决办法

如果出现下面的错误:

Failed to execute goal on project spark-mllib_2.10: Could not resolve
dependencies for project org.apache.spark:spark-mllib_2.10:jar:1.6.0:
Could not transfer artifact org.spire-math:spire_2.10:jar:0.7.4
from/to central (https://repo1.maven.org/maven2): GET request of:
org/spire-math/spire_2.10/0.7.4/spire_2.10-0.7.4.jar from central
failed: SSL peer shut down incorrectly -> [Help 1]

在spark-1.6.0目录下的pom.xml文件中第316行后面加入下面的repository:
这里写图片描述
红色的部分是新加入的部分。
也可以直接下载spire_2.10-0.7.4.jar到你的本地repository。我的本地repository下在/root/.m2/repository/org/spire-math/spire_2.10/0.7.4/spire_2.10-0.7.4.jar中。

编译成功了会提示:
[INFO] ————————————————————————
[INFO] BUILD SUCCESS
[INFO] ————————————————————————
[INFO] Total time: 01:03 h
[INFO] Finished at: 2016-01-14T08:22:36+08:00
[INFO] Final Memory: 459M/1518M

5.配置环境变量

在~/.bashrc目录中添加如下内容:

export SPARK_HOME=/root/spark-1.6.0
export PATH=$PATH:$SPARK_HOME/bin

6.测试

执行下面程序:

[root@localhost spark-1.6.0]#source ~/.bashrc
[root@localhost spark-1.6.0]# ./bin/run-example LocalPi

得到如下结果:
Pi is roughly 3.15024

[root@localhost spark-1.6.0]# ./bin/run-example SparkPi

会输出一堆信息,其中有
Pi is roughly 3.13848

每次运行的结果都不一样!!用的方法是概率论中蒙特卡罗法求π的近似值。
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值