spark2.1.0編譯 cdh5.7.0版本
阿新 • • 發佈:2018-11-25
一、實現目標
從spark官網下載2.1.0的原始碼,然後編譯對應hadoop版本的spark,從而可以解決很多相容性問題,使程式執行環境更加優越,順暢。
二、環境準備
1.硬體
無論雲主機還是虛擬機器,記憶體一定要4G以上,最好8G+。
2.軟體
(1)java:spark 2.0以後的版本都用JAVA1.8+的
1)刪除之前java
rpm -qa | grep jdk 結果: java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el6_9.x86_64 java-1.7.0-openjdk-devel-1.7.0.181-2.6.14.8.el6_9.x86_64 刪除 rpm -e --nodeps java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el6_9.x86_64 java-1.7.0-openjdk
2)檢視java -version
java version "1.5.0"
3)接著刪除
rpm -qa | grep java
結果:
java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64
tzdata-java-2012j-1.el6.noarch
java_cup-0.10k-5.el6.x86_64
刪除
rpm -e --nodeps java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64 tzdata-java-2012j-1.el6.noarch
4)重新整理
source /etc/profile java -version 結果: java version "1.8.0_151" Java(TM) SE Runtime Environment (build 1.8.0_151-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
(2)maven3.3.9
1)解壓縮
tar -zxvf apache-maven-3.3.9-bin.tar.gz -C /opt/modules/
2)配置maven環境變數
vi /etc/profile
export MAVEN_HOME=/opt/modules/apache-maven-3.3.9
export PATH=$PATH:$JAVA_HOME/bin:$SCALA_HOME/bin:$MAVEN_HOME/bin
3)生效環境變數
source /etc/profile
4)檢查是否安裝成功
mvn -version 顯示: Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00) Maven home: /opt/modules/apache-maven-3.3.9 Java version: 1.8.0_151, vendor: Oracle Corporation Java home: /opt/jdk1.8.0_151/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "2.6.32-358.el6.x86_64", arch: "amd64", family: "unix"
(3)scala:2.11.8
從spark2.0開始,預設使用scala 2.11以後的版本編譯,檢查scala版本
echo $SCALA_HOME
(4)配置maven記憶體
export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"
三、編譯步驟
1.解壓縮
tar -zxvf spark-2.1.0.tgz
2.修改/opt/software/spark-2.1.0/dev/make-distribution.sh檔案,從而編譯更加快速
VERSION=2.1.0
SCALA_VERSION=2.11 大版本
SPARK_HADOOP_VERSION=2.7.3
SPARK_HIVE=1
3.如果是cdh版本的hadoop,則需要修改/opt/software/spark-2.1.0/pom.xml.在repositories中新增:
<repository>
<id>cloudera</id>
<name>cloudera Repository</name>
<url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
</repository>
4.設定記憶體
export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"
5.在spark根目錄下執行
./dev/make-distribution.sh --tgz -PR -Phadoop-2.7.3 -Phive -Phive-thriftserver -Pyarn
6.編譯成功後,在/opt/software/spark-2.1.0下面有編譯成功的spark包。
(至此完成~)