Spark-1.X編譯構建及配置安裝

前提條件(環境要求)java

  jdk版本:1.7+linux

  scala版本:1.10.4+apache

  maven版本:3.3.3+服務器

本博客中使用的軟件版本網絡

  spark版本:spark-1.6.1.tar.gz(源碼)  maven

  jdk版本:jdk-8u151-linux-x64.tar.gzoop

  maven版本:apache-maven-3.3.9.tar.gzui

  scala版本:scala-2.10.4.tgzurl

以上軟件均可以到官網下載spa

本文章約束兩個目錄

  /opt/softwares 安裝包

  /opt/modules 安裝的目錄

編譯方式

  打包編譯make-distribution.sh

1、環境配置

一、將spark、jdk、maven、scala軟件包上傳到Linux系統指定的目錄:/opt/softwares/

二、maven安裝與配置

tar -zxvf apache-maven-3.3.9.tar.gz -C /opt/modules 

在/etc/profile配置文件中最底部配置如下信息

#MAVEN#
export MAVEN_HOME=/opt/modules/apache-maven-3.3.9
export PATH=$PATH:$MAVEN_HOME/bin

3 、java安裝與配置

tar -zxvf jdk-8u151-linux-x64.tar.gz -C /opt/modules 

在/etc/profile配置文件中最底部配置如下信息

#JAVA_HOME#
export JAVA_HOME=/opt/modules/jdk1.8.0_151
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

四、scala安裝與配置

tar -zxvf scala-2.10.4.tgz -C /opt/modules 

在/etc/profile配置文件中最底部配置如下信息

#scala#
export SCALA_HOME=/opt/modules/scala-2.10.4
export PATH=$PATH:$SCALA_HOME/bin

五、maven倉庫配置

將repository-1.6.1.zip解壓到~/.m2文件夾中

六、解壓spark源碼包

tar -zxvf spark-1.6.1.tar.gz -C /opt/modules

七、修改make-distribution.sh文件內容(在/opt/modules/spark-1.6.1目錄中)

在129行添加如下內容

VERSION=1.6.1
SCALA_VERSION=2.10.4
SPARK_HADOOP_VERSION=2.5.0-cdh5.3.6
SPARK_HIVE=1

note:

  SCALA_VERSION配置上你的scala的版本, 多是2.10.x 或者2.11.x
  SPARK_HADOOP_VERSION配置上你的hadoop版本
  SPARK_HIVE 1表示須要將hive的打包進去, 非1數字表示不打包hive

 

八、修改pom.xml文件 (在/opt/modules/spark-1.6.1目錄中

在166行  scala版本修改爲你對應的版本  我這裏是修改爲 2.10.4

在2522行  scala版本修改爲你對應的版本  我這裏是修改爲 2.10.4

 

 九、添加依賴服務文件

前提:使用的scala版本是2.10.4,pom.xml文件中也進行了修改
複製scala-2.10.4.tgz和zinc-0.3.5.3.tgz到spark根目錄的build文件夾中, 並解壓

十、編譯spark

在spark目錄中執行命令

./make-distribution.sh --tgz \
-Phadoop-2.4 \
-Dhadoop.version=2.5.0-cdh5.3.6 \
-Pyarn \
-Phive -Phive-thriftserver

十一、最終spark編譯成功標誌

十二、須要注意的幾點

1)若是maven不是國內的鏡像下載會比較慢 ,建議改爲國內鏡像

配置鏡像(修改settings.xml文件)

<mirror>
<id>aliyun</id>
<mirrorOf>central</mirrorOf>
<name>aliyun repository</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
<mirror> <!– cdh 版本編譯 可選指定-->
<id>cloudera</id>
<mirrorOf>central</mirrorOf>
<name>cloudera repository</name>
<url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
</mirror>

2)配置域名解析服務器

# vi /etc/resolv.conf
內容:
nameserver 8.8.8.8
nameserver 8.8.4.4

3)編譯可能出現的問題

在編譯的過程當中,可能卡死,而後不進行編譯的狀況出現,若是超過十分鐘沒有動靜的話,能夠考慮是不是編譯出現問題。問題出現

緣由是:網絡很差、機器內存不夠、其餘緣由。解決方案:1. 關閉編譯的進程。直接退出當前會話,而後重新進入在編譯。2. 添加虛擬機內存(最好4G+),重啓虛擬機再編譯

相關文章
相關標籤/搜索