1.环境准备
需要提前安装的系统和软件:
系统:
centos7.0
软件:
spark-2.2.1.tgz源码
jdk-8u144-linux-x64.tar.gz JDK1.8以上
apache-maven-3.3.9-bin.tar.gz
scala-2.11.8.tgz
hadoop-2.6.0-cdh5.7.0.tar.gz
linux下面创建目录的习惯:
app目录:存放各种软件
data目录:存放测试数据
source目录:存放下载源码的软件
software目录:存放tar.gz这种软件包
lib目录:存放自己的jar包
maven_localRepository:存放maven的依赖
2.软件的安装
安装jdk:
tar -zxvf jdk-8u144-linux-x64.tar.gz -C ~/app/
vi ~/.bash_profile
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_152
export PATH=$JAVA_HOME/bin: $PATH
source ~/.bash_profile
安装maven:
tar -zxvf apache-maven-3.3.9-bin.tar.gz -C ~/app/
vi ~/.bash_profile
export M2_HOME=/home/hadoop/app/apache-maven-3.3.9
export PATH=$M2_HOME/bin:$PATH
source ~/.bash_profile
建议修改maven本地仓库的地址:
cd $M2_HOME/conf
vi settings.xml
<localRepository>~/app/maven_localRepository/</localRepository>
安装scala:
tar -zxvf scala-2.11.8.tgz -C ~/app/
vi ~/.bash_profile
export SCALA_HOME=/home/hadoop/app/scala-2.11.8
export PATH=$SCALA_HOME/bin:$PATH
source ~/.bash_profile
3.编译spark
改变默认的仓库:
因为默认的是apache的仓库,但是我们hadoop的版本写的是CDH,这时要将CDH的仓库配进来,打 开spark目录下的pom.xml文件,将CDH的仓库配进去
vi ~//home/hadoop/spark-2.2.1/pom.xml
<repository>
<id>cloudera</id>
<name>cloudera Repository</name> <url>https://repository.cloudera.com/artifactory/cloudera-repos</url>
</repository>
执行编译:
–name:指定编译完成后Spark安装包的名字
–tgz:以tgz的方式进行压缩
-Psparkr:编译出来的Spark支持R语言
-Phadoop-2.6:以hadoop-2.6的profile进行编译,具体的profile可以看出源码根目录中的pom.xml中查看
-Phive和-Phive-thriftserver:编译出来的Spark支持对Hive的操作
-Pmesos:编译出来的Spark支持运行在Mesos上
-Pyarn:编译出来的Spark支持运行在YARN上
./dev/make-distribution.sh --name 2.6.0-cdh5.7.0 --tgz -Phadoop-2.6 -Dhadoop.version=2.6.0-cdh5.7.0 -Phive -Phive-thriftserver -Pyarn
编译完成后,在spark的主目录下面得到的 spark-2.2.1-bin-2.6.0-cdh5.7.0.tgz包就是后面需要的安装包。
注意:在编译过程中会出现下载某个依赖包的时间太久,这是由于网络问题,可以执行ctrl+c停止编译命令,然后重新运行编译命令,在编译过程中多试几次即可。
打完收工。。。