Spark-2.4.2編譯安裝

下載

下載安裝包:https://spark.apache.org/downloads.html
官網編譯文檔:http://spark.apache.org/docs/2.2.0/building-spark.html
在這裏插入圖片描述
也可以linux:

wget https://www.apache.org/dyn/closer.lua/spark/spark-2.4.5/spark-2.4.5.tgz

安裝scala

版本:scala-2.11.8

wget https://downloads.lightbend.com/scala/2.11.8/scala-2.11.8.tgz

解壓文件:

tar -zxvf scala-2.11.8.tgz

配置環境變量

vim /etc/profile

#添加內容:
export SCALA_HOME=/wwwzyy/java/spark/scala-2.11.8/
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$MAVEN_HOME/bin:$SCALA_HOME/bin


#生成配置
source /etc/profile

用到編譯自然少不了Maven

注意:版本兼容問題
參考地址:https://www.cnblogs.com/cannel/p/11104190.html

maven 安裝後修改mvn 執行文件
指定jvm 參數

export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"

也可以設置臨時

[root@hadoop000 spark]# export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"
[root@hadoop000 spark]# echo $MAVEN_OPTS

主角來了spark編譯

解壓下載的spark

tar -zxvf spark-2.4.2.tgz 
cd spark-2.4.5

修改版本號爲固定版本,避免編譯時腳本自動獲取

vim dev/make-distribution.sh

修改文件中:

**修改**
VERSION=$("$MVN" help:evaluate -Dexpression=project.version $@ 2>/dev/null\
    | grep -v "INFO"\
    | grep -v "WARNING"\
    | tail -n 1)
SCALA_VERSION=$("$MVN" help:evaluate -Dexpression=scala.binary.version $@ 2>/dev/null\
    | grep -v "INFO"\
    | grep -v "WARNING"\
    | tail -n 1)
SPARK_HADOOP_VERSION=$("$MVN" help:evaluate -Dexpression=hadoop.version $@ 2>/dev/null\
    | grep -v "INFO"\
    | grep -v "WARNING"\
    | tail -n 1)
SPARK_HIVE=$("$MVN" help:evaluate -Dexpression=project.activeProfiles -pl sql/hive $@ 2>/dev/null\
    | grep -v "INFO"\
    | grep -v "WARNING"\
    | 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.4.5 #spark 版本
SCALA_VERSION=2.11.8 #scala 版本
SPARK_HADOOP_VERSION=2.6.0-cdh5.9.3 #對應的hadoop版本
SPARK_HIVE=1 #支持的hive
 

在pox.xml 文件中添加

  <repository>
      <id>cloudera</id>
      <name>cloudera Repository</name>
      <url>https://repository.cloudera.com/artifactory/cloudera-repos</url>
   </repository>
#jar包
<dependency>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <version>3.0.0</version>
</dependency>
 

開始編譯 …編譯時間有點長

./dev/make-distribution.sh --name 2.6.0-cdh5.9.3 --tgz -Phadoop-2.6 -Phive -Phive-thriftserver -Pyarn -Pkubernetes -Dhadoop.version=2.6.0-cdh5.9.3

編譯完成後生成文件spark-2.4.5-bin-2.6.0-cdh5.9.3

解壓文件

tar -zxvf spark-2.4.5-bin-2.6.0-cdh5.9.3.tgz

配置對應的環境變量

vim /etc/profile

PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$MAVEN_HOME/bin:$SCALA_HOME/bin:${SPARK_HOME}/bin

export SPARK_HOME=/wwwzyy/java/spark/spark-2.4.5-bin-2.6.0-cdh5.9.3
source /etc/profile

最後啓動spark

[root@hadoop000 bin]# spark-shell

在這裏插入圖片描述

編譯坑點

Could not resolve dependencies for project org.apache.spark:spark-network-yarn_2.11:jar:2.4.5:

1 spark 編譯支持的maven 版本是有要求指定以上版本,建議用最新版本

2 有時編譯的機器內存不夠
注意編輯機器的內存 一般推薦4G以上的內存
export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"
3報錯提示:Could not resolve dependencies for project org.apache.spark:spark-launcher_2.11:jar:2.4.5:

./dev/change-scala-version.sh 2.11.8

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章