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
强者自救 圣者渡人