记录自己编译spark的过程
一、环境
1.hadoop环境为:Hadoop 2.6.0-cdh5.7.6
2.Scala环境为:Scala code runner version 2.11.12
3.jdk环境为:1.8
4.maven环境为:Apache Maven 3.6.1
5.spark版本为:spark-2.4.2.tgz
二、配置maven
在maven的conf目录下的settings.xml添加
##配置mvn的本地存放位置
<localRepository>/usr/local/maven/repo</localRepository>
##配置mvn下载源为阿里云的maven仓库,加速下载
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
三、配置spark
1.#修改pom.xml文件,添加clouder仓库
<repository>
<id>cloudera</id>
<url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
</repository>
2.到dev目录下 make-distribution.sh修改版本
如图:
四、执行编译命令
到spark的dev目录下执行下面的命令
./make-distribution.sh --name 2.6.0-cdh5.7.6 --tgz -Pyarn -Phadoop-2.6 -Phive -Phive-thriftserver -Dhadoop.version=2.6.0-cdh5.7.6
参数解释:
--name:生成压缩包的后缀名字;前缀默认为spark版本的名字,本例为:spark-2.4.2-bin
--tgz:采用压缩格式为tar,压缩的后缀名为.tgz
-Pyarn:表示spark需要运行在yarn上面
-Phadoop-2.6:表示spark使用hadoop的profile的id
-Dhadoop.version=2.6.0-cdh5.7.7:表示spark使用hadoop的版本;如果不指定,默认使用的是2.2.0的hadoop
-Phive -Phive-thriftserver:表示支持hive
五、编译完成
编译时间上不封顶,全看网速,我的就比较悲催,中间网速太慢。失败了好几次,最终如下图:
最后看到编译完成后的它。静静躺在那里:
终于编译完成了,可以开始学习spark了
加油