目录
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
- 测试结果