如何编译Spark

1.安装环境

软件准备

spark-2.4.4.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.15.1.tar.gz

1.1 安装jdk

tar -xf jdk-8u144-linux-x64.tar.gz -C  /usr/local/spark-test/app
vi  /etc/profile       
export  JAVA_HOME=/usr/local/spark-test/app/jdk1.8.0_144
export  PATH=$JAVA_HOME/bin:$PATH
source /etc/profile
java -version

1.2 安装maven

tar -xf apache-maven-3.3.9-bin.tar.gz -C ../app/
vi /etc/profile
export MAVEN_HOME =/usr/local/spark-test/app/apache-maven-3.3.9(注意配置环境变量时,=与后面的路径之间不能有空格)
export PATH=$MAVEN_HOME/bin:$PATH
source /etc/profile
mvn -version
建议修改maven本地仓库的地址:
cd /usr/local/spark-test/app/apache-maven-3.3.9/conf
vi  settings.xml
添加一下   /usr/local/spark-test/maven_repo

1.3 安装scala

tar -xf scala-2.11.8.tgz  -C ../app/
vi /etc/profile
export SCALA_HOME=/usr/local/spark-test/app/scala-2.11.8
export PATH=$SCALA_HOME/bin:$PATH
source /etc/profile
scala

1.4 建议安装下git

 yum -y install git

2. 编译

我们使用make-distribution.sh来进行Spark的编译

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

提升Spark编译速度方法:
将VERSION ,SCALA_VERSION ,SPARK_HADOOP_VERSION ,SPARK_HIVE 注释掉,直接写上自己的版本。
spark 版本

#VERSION=$("$MVN" help:evaluate -Dexpression=project.version $@ 2>/dev/null | grep -v "INFO" | tail -n 1)

scala 版本

#SCALA_VERSION=$("$MVN" help:evaluate -Dexpression=scala.binary.version $@ 2>/dev/null\
#    | grep -v "INFO"\
#    | tail -n 1)

hadoop 版本

#SPARK_HADOOP_VERSION=$("$MVN" help:evaluate -Dexpression=hadoop.version $@ 2>/dev/null\
#    | grep -v "INFO"\
#    | tail -n 1)

hive

#SPARK_HIVE=$("$MVN" help:evaluate -Dexpression=project.activeProfiles -pl sql/hive $@ 2>/dev/null\
#    | grep -v "INFO"\
#    | fgrep --count "hive";\
#    # 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.4
SCALA_VERSION=2.11 大版本
SPARK_HADOOP_VERSION=2.6.0-cdh5.15.1
SPARK_HIVE=1 1表示支持

注意:
需要在spark的pom.xml文件中添加cdh依赖,要添加在Maven Repository仓库的后面

              
                cloudera
                cloudera Repository
                https://repository.cloudera.com/artifactory/cloudera-repos
               
识别 下方二 维码 ,即可关注公众号获取最新大厂技术

如何编译Spark_第1张图片

你可能感兴趣的:(docker,大数据,linux,java,hadoop)