zoukankan      html  css  js  c++  java
  • 【Spark】必须要用CDH版本的Spark?那你是不是需要重新编译?


    为什么要重新编译?

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

    步骤
    一、下载Spark的源码

    对应版本下载:https://archive.apache.org/dist/spark/spark-2.2.0/spark-2.2.0.tgz

    二、准备linux环境,安装必须软件

    maven必须使用3.3.9以上的版本进行编译,我们这里选择使用3.5.0的版本
    配置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
    

    linux安装jdk1.8.141

    三、解压spark源码,修改配置,准备编译
    cd /export/softwares/
    tar -zxf spark-2.2.0.tgz  -C /export/servers/
    

    修改源码配置文件

    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>
    
    四、开始编译
    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
    
  • 相关阅读:
    程序相关概念
    C/C++程序语言概念
    详解QT5.10.0搭载OpenCV3.4.0环境配置步骤说明
    微信小程序支付结果 c#后台回调
    信小程序支付(C#后台+前台)
    微信小程序知识集锦
    WPF获取读取电脑指定文件夹中的指定文件的地址
    WPF后台动画DoubleAnimation讲解
    wpf datagrid 的单元格内容超出列宽度
    WPF实现3D翻转的动画效果
  • 原文地址:https://www.cnblogs.com/zzzsw0412/p/12772416.html
Copyright © 2011-2022 走看看