Spark 自定义编译构建

原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/14672294.html

下载source code

wget https://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-3.1.1/spark-3.1.1.tgz

解压

tar zxvf spark-3.1.1.tgz

修改 make-distribution.sh

cd spark-3.1.1/dev
vi make-distribution.sh

添加如下4个变量

VERSION=3.1.1
SCALA_VERSION=2.12
SPARK_HADOOP_VERSION=3.3.0
SPARK_HIVE=2.3

注释掉133-151行

编译构建打包

./make-distribution.sh --name 3.3.0 --tgz -Dhadoop.version=3.3.0 -Pyarn -Phive -Phive-thriftserver -DskipTests

等待若干时间后,自定义指定版本的Spark构建成功,如下图所示

Note:这里指定的hadoop的版本为3.3.0 

之后配置SPARK_HOME、spark-env.sh、workers 后启动spark

cd $SPARK_HOME/sbin
./start-all.sh

会遇到这个错,遭遇启动失败

原因是自定义编译构建的spark的guava版本太低,

解决办法是移除掉spark-3.1.1-bin-3.3.0/jars/guava-14.0.1.jar,添加hadoop-3.3.0/share/hadoop/common/lib/guava-27.0-jre.jar

rm ~/app/spark-3.1.1-bin-3.3.0/jars/guava-14.0.1.jar

cp hadoop-3.3.0/share/hadoop/common/lib/guava-27.0-jre.jar ~/app/spark-3.1.1-bin-3.3.0/jars

然后重新启动

Reference

http://spark.apache.org/docs/latest/building-spark.html

强者自救 圣者渡人
原文地址:https://www.cnblogs.com/agilestyle/p/14672294.html