Spark_CDH版spark的重新编译


我的集群环境:CDH版本是5.14.0这个版本
但由于spark对应的5.14.0的CDH版本的软件spark的版本还停留在spark1.x,并且CDH版本的spark不支持sparkSQL的功能
原因: 因为Cloudera公司认为有了impala就不需要再使用sparkSQL的功能了,同时也是为了推广impala,所以直接阉割掉了sparkSQL的模块。
解决: 使用Apache的版本的spark来进行重新编译
spark编译官方文档说明
http://spark.apache.org/docs/latest/building-spark.html#specifying-the-hadoop-version

1.下载spark的源码

spark2.2.0这个apache的版本,然后重新编译,对应的CDH5.14.0的版本
官方下载地址:https://archive.apache.org/dist/spark/spark-2.2.0/spark-2.2.0.tgz

2.准备linux环境,安装必须软件

1、linux安装maven-3.3.9及其以上版本
maven使用3.3.9以上的版本进行编译
配置settings.xml

<localRepository>/export/servers/mvnrepository</localRepository>

配置maven环境变量

export MAVEN_HOME=/export/servers/apache-maven-3.5.0
export MAVEN_OPTS="-Xms4096m -Xmx4096m"
export PATH=:$MAVEN_HOME/bin:$PATH

2、linux安装jdk1.8.141
cd /explort/software
tar -zxvf jdk1.8.141.tar.gz ../servers

3.解压spark源码,修改配置,准备编译

1、上传源码压缩包并解压
将spark的源码,上传到/export/softwares路径下面去
解压源码到/export/servers路径下面去
cd /export/softwares/
tar -zxf spark-2.2.0.tgz -C /export/servers/

2、修改源码配置文件
修改make-distribution.sh这个脚本
cd /export/servers/spark-2.2.0/dev
vim make-distribution.sh
在第三行添加以下内容

VERSION=2.2.0
SCALA_VERSION=2.11.8
SPARK_HADOOP_VERSION=2.6.0-cdh5.14.0
SPARK_HIVE=1

注释掉以下这些内容

#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)

添加maven编译库
修改pom.xml
cd /export/servers/spark-2.2.0
vim pom.xml
修改hadoop,flume以及zookeeper的版本

<hadoop.version>2.6.0-cdh5.14.0</hadoop.version>
<flume.version>1.6.0-cdh5.14.0</flume.version>
<zookeeper.version>3.4.5-cdh5.14.0</zookeeper.version>

添加CDH以及阿里云的仓库地址

<repository>
      <id>cloudera</id>
      <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
    </repository>

	 <repository>
            <id>aliyun</id>
            <name>aliyun</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <layout>default</layout>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
            </releases>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
            </snapshots>
        </repository>

添加pluginRepository

<pluginRepository>
      <id>cloudera</id>
      <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
     </pluginRepository>

</font>
4.开始编译

修改完成以上所有配置之后,执行以下命令准备开始编译
cd /export/servers/spark-2.2.0/

export MAVEN_OPTS="-Xmx4g -XX:ReservedCodeCacheSize=1024m"
./dev/make-distribution.sh --name 2.6.0-cdh5.14.0 --tgz  -Pyarn -Phadoop-2.6 -Phive -Phive-thriftserver -Dhadoop.version=2.6.0-cdh5.14.0 -DskipTests
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值