Spark源码编译

目录

一、环境配置

1. maven配置

2. spark配置

3. Scala安装

二、编译安装及测试

1. 编译

2. 本地模式测试


Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是加州大学伯克利分校的AMP实验室所开源的类Hadoop MapReduce的通用并行框架。

由于Hadoop的版本是2.5,官网不提供编译版本供下载,本实例将编译源码来获得适用于Hadoop版本的spark。

说明:spark版本:v2.2.0、maven版本:v3.3.9+、Java 8+

一、环境配置

1. maven配置

  • 下载
wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz
  • 环境变量配置

修改/etc/profile文件,修改完成后执行 source /etc/profile 使配置生效

#MAVEN_HOME
export MAVEN_HOME=/opt/modules/maven-3.6.2
export PATH=$PATH:$MAVEN_HOME/bin
export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"

2. spark配置

  • 下载
wget https://archive.apache.org/dist/spark/spark-2.2.0/spark-2.2.0.tgz
  • 修改spark解压目录的 dev/make-distribution.sh 文件

默认是去搜索Scala、Hadoop的版本和是否需要支持Hive,为了缩短编译时间,明确相关配置

VERSION=$("$MVN" help:evaluate -Dexpression=project.version $@ 2>/dev/null | grep -v "INFO" | tail -n 1)
SCALA_VERSION=$("$MVN" help:evaluate -Dexpression=scala.binary.version $@ 2>/dev/null\
    | grep -v "INFO"\
    | tail -n 1)
SPARK_HADOOP_VERSION=$("$MVN" help:evaluate -Dexpression=hadoop.version $@ 2>/dev/null\
    | grep -v "INFO"\
    | tail -n 1)
SPARK_HIVE=$("$MVN" help:evaluate -Dexpression=project.activeProfiles -pl sql/hive $@ 2>/dev/null\
    | grep -v "INFO"\
    | fgrep --count "<id>hive</id>";\
    # Reset exit status to 0, otherwise the script stops here if the last grep finds nothing\
    # because we use "set -o pipefail"
    echo -n)

# 将上述代码块替换成如下
VERSION=2.2.0
SCALA_VERSION=2.11.8
SPARK_HADOOP_VERSION=2.5.0
SPARK_HIVE=1
  • 修改解压目录下的 pom.xml

由于国内网络的问题,下载依赖包慢,故修改maven的下载源为国内maven源

<name>Maven Repository</name>
<!-- 修改url值 -->
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
<id>central</id>
<!-- 修改url值 -->
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
  • 下载 scala-2.11.8.tgz 和 zinc-0.3.11.tgz

网络环境好此操作可以忽略。默认通过maven下载,无奈总是下载不下来,故而自行下载放置spark解压目录的 build 文件夹下

# zinc
wget downloads.lightbend.com/zinc/0.3.11/zinc-0.3.11.tgz
# scala
wget downloads.lightbend.com/scala/2.11.8/scala-2.11.8.tgz

3. Scala安装

  • 解压
tar xzvf scala-2.11.8.tgz
  • 环境变量配置

改/etc/profile文件,修改完成后执行 source /etc/profile 使配置生效

#SCALA_HOME
export SCALA_HOME=/opt/modules/scala-2.11.8
export PATH=$PATH:$SCALA_HOME/bin

二、编译安装及测试

1. 编译

编译过程大概30~50分钟,时间取决于机器的性能。编译完成后会生成 spark-2.2.0-bin-custom-spark.tgz 压缩文件

./dev/make-distribution.sh --name custom-spark --tgz -Phadoop-2.5 -Phive -Phive-thriftserver -Pyarn

2. 本地模式测试

  • 解压 spark-2.2.0-bin-custom-spark.tgz
tar xzvf spark-2.2.0-bin-custom-spark.tgz
  • 进入命令行界面
bin/spark-shell
  • 测试结果

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值