编译Spark报错
来源:5-6 -Spark环境搭建

KeepFoolish的小白菜
2019-03-08
什么也没干,只是运行了编译命令,出现这样的问题该怎么改呐。感觉是两个包不匹配?
2回答
-
你的JDK,scala,maven版本都OK吗?非上课的版本就有可能不对。请使用上课的版本
012019-03-09 -
KeepFoolish的小白菜
提问者
2019-03-09
一开始是命令使用错误,应用dev/make-distribution.sh --name 2.6.0-cdh5.7.0 --tgz -Pyarn -Pscala-2.11 -Phadoop-2.6 -Phive -Phive-thriftserver -Dhadoop.version=2.6.0-cdh5.7.0 而不是./build命令,hadoop的version说明也不能省,否则默认匹配为2.6.5版本。
编译过程中遇到四个问题:
Spark源码默认版本为scala2.12 ,需改为2.11,需先运行dev/change-scala-version.sh 2.11,再在make命令行里添加 -Pscala-2.11(不能写2.11.8,否则仍会报错)
找不到Hadoop cdh版本的仓库,需要修改pom.xml,将cloudera引入仓库,参考https://blog.csdn.net/lemonzhaotao/article/details/78495006
截图所示问题,原因为hadoop2.6.4增加了新方法,造成2.6.0-2.6.3版本编译错误,所以需要修改Client.scala文件,具体修改参考https://github.com/apache/spark/pull/16884/files
运行./shell-spark --master local[2] 报错zsh no matches found local,原因是我的terminal是zsh,不是bash,需运行setopt nonomatch改回bash模式,参考https://zpjiang.me/2015/10/17/zsh-no-match-found-local-spark/
00
相似问题