1. 选择spark版本
在生产环境中,使用的spark安装文件都是自编译的,所以必须自己编译源码。首先,确认要使用的spark版本,这里,我选择spark 1.6.1 ,到官网(http://spark.apache.org/downloads.html)下载对应版本的source code。
2.编译方法:
编译源码参考官方文档(http://spark.apache.org/docs/1.6.1/),注意需要选择对应spark版本文档。在对应版本文档中,找到相应的编译文档:
编译时,需要根据我们已经安装hadoop版本来确定参数,我是用的版本是:hadoop-2.5.0-cdh5.3.6
编译代码:
./make-distribution.sh --tgz -Phadoop-2.4 -Dhadoop.version=2.5.0-cdh5.3.6 -Phive -Phive-thriftserver -Pyarn
cd 到spark源码目录,修改脚本:make-distribution.sh,如下部分需要修改:
VERSION=$("$MVN" help:evaluate -Dexpression=project.version $@ 2>/dev/null | grep -v "INFO" | tail -n 1)
SCALA_VERSION=$("$MVN" help:evaluate -Dexpression=scala.binary.version $@ 2>/dev/null\
| grep -v "INFO"\
| tail -n 1)
SPARK_HADOOP_VERSION=$("$MVN" help:evaluate -Dexpression=hadoop.version $@ 2>/dev/null\
| grep -v "INFO"\
| tail -n 1)
SPARK_HIVE=$("$MVN" help:evaluate -Dexpression=project.activeProfiles -pl sql/hive $@ 2>/dev/null\
| grep -v "INFO"\
| fgrep --count "<id>hive</id>";\
# 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=1.6.1
SCALA_VERSION=2.10.4
SPARK_HADOOP_VERSION=2.5.0-cdh5.3.6
SPARK_HIVE=1
spark版本、scala版本、spark使用hadoop版本、是否支持hive(1为支持)
网友评论