版本说明
Hadoop:2.6.0-cdh5.15.1
JDK:1.8.0
Spark:2.4.4
Maven:Spark源码内置,路径:spark-2.4.4/build/mvn
以上软件都需要提前设置好环境变量,但是Maven, Scala和Zinc在编译的时候会自动下载对应版本到build/目录下,所以不需要提前安装。
修改pom.xml
spark-2.4.4/pom.xml
-
增加cloudera的repository
<repository> <id>cloudera</id> <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url> </repository>
-
关闭zinc
<useZincServer>false</useZincServer>
Spark默认版本说明
从spark-2.4.4/pom.xml
文件中我们可以看到,默认使用的是Hadoop2.6.5,这个小版本和我们当前的2.6.0-cdh5.15.1还是存在差异的,所以需要用-Dhadoop.version=2.6.0-cdh5.15.1
指定版本号
执行命令:./build/mvn -Pyarn -Phive -Phive-thriftserver -Dhadoop.version=2.6.0-cdh5.15.1 -DskipTests clean package
说明:使用Yarn、Hive和ThriftServer,重设Hadoop版本为2.6.0-cdh5.15.1
第一次执行会比较慢,大概要1~2个小时。
还有另一种方式可以生成一个可以执行的包,执行命令:./dev/make-distribution.sh --name 2.6.0-cdh5.15.1 --tgz -Pyarn -Phive -Phive-thriftserver -Dhadoop.version=2.6.0-cdh5.15.1
,其实就是对上面的命令进行了一个封装,推荐使用这种方式。
编译完成后,会生成一个名为spark-2.4.4-bin-2.6.0-cdh5.15.1.tgz
的包,解压后即可以使用。
本地启动
- 配置环境变量
- 进入$SPARK_HOME,执行
./bin/spark-shell --master local[2]
,可以看到如下内容即为成功
注意,可以通过红框圈出来的地址去访问Spark的作业执行情况。