环境
1)java8
2)hadoop2.7.3
3)scala2.11.2
4)R3.4.4(如果不需要sparkR的话R可以不用)
修改spark目录下的dev/make-distribution.sh脚本文件
spark2.2.0编译及遇到的问题
把对应代码的改成自己对应的版本(可以加快编译速度不用脚本自行寻找版本)
编译之前需要安装一些依赖:
sudo apt install pandoc
pip install pypandoc
如果需要sparkR支持还需要在R命令行安装一些包:
install.packages(“knitr”)
install.packages(“rmarkdown”)
install.packages(“e1071”)
install.packages(“testthat”)
编译sparkR所需的依赖:
sudo apt install texlive-latex-base
sudo apt install texlive-latex-recommended
sudo apt install texlive-latex-extra
sudo apt install texlive-fonts-recommended
sudo apt install texlive-fonts-extra
然后就可以进行编译了,命令为
./dev/make-distribution.sh --name custom-spark --pip --r --tgz -Psparkr -Phadoop-2.7 -Phive -Phive-thriftserver -Pmesos -Pyarn
参数介绍:
-Phadoop:Hadoop版本号;
-Pyarn :是否支持Hadoop YARN;
-Phive:是否在Spark SQL 中支持hive;
-Phive-thriftserver:同-Phive;
-Psparkr:是否支持sparkr;

编译出现的问题
1找不到sun.misc.Cleaner类
spark2.2.0编译及遇到的问题
原因java的版本不对
解决方法:
查看Linux JDK菜单
update-alternatives --config java
update-alternatives --config javac
spark2.2.0编译及遇到的问题
发现我的javac选择的是java11的,把它改成8的就行了

2处理标头‘sparkr-vignettes.Rmd’失败。。。。
spark2.2.0编译及遇到的问题
找到spark目录下R/pkg/vignettes的sparkr-vignettes.Rmd的425-426行往前面看发现可能缺少e1071的包
spark2.2.0编译及遇到的问题
解决方法:
进入R命令行安装e1071的包
install.packages(“e1071”)

3 package suggested but not available:‘testthat’
spark2.2.0编译及遇到的问题

解决方法:
进入R命令行安装e1071的包
install.packages(“testthat”)

4 pdflatex is not available
spark2.2.0编译及遇到的问题
解决方法:
sudo apt install texlive-latex-base
sudo apt install texlive-latex-recommended
sudo apt install texlive-latex-extra
sudo apt install texlive-fonts-recommended
sudo apt install texlive-fonts-extra

相关文章: