`
tangjunliang
  • 浏览: 109213 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spark3.0基于hadoop2.6.0编译问题

阅读更多

        spark3.0出来一段时间了,内部做了很多的优化,所以想尝尝新。

 

        下载下来spark3.0的源码,查看pom.xml文件,发现profile中的hadoop版本是2.7,所以把这个属性改成2.6, 当然我们是cdh5.14.2,hadoop版本是2.6.0。开始编译,发现编译报错,这是因为在2.6.0到2.6.3hadoop中有个class在之后的版本变了,而spark里使用的是之后版本的新API。

 

         找到resource-managers/yarn/src/main/scala/org/apache/spark/deploy/yarn/Client.scala,把下面源码注释掉,并修改如下:

         

 

    //sparkConf.get(ROLLED_LOG_INCLUDE_PATTERN).foreach { includePattern =>

    //  try {

    //    val logAggregationContext = Records.newRecord(classOf[LogAggregationContext])

    //    logAggregationContext.setRolledLogsIncludePattern(includePattern)

    //    sparkConf.get(ROLLED_LOG_EXCLUDE_PATTERN).foreach { excludePattern =>

    //      logAggregationContext.setRolledLogsExcludePattern(excludePattern)

    //    }

    //    appContext.setLogAggregationContext(logAggregationContext)

    //  } catch {

    //    case NonFatal(e) =>

    //      logWarning(s"Ignoring ${ROLLED_LOG_INCLUDE_PATTERN.key} because the version of YARN " +

    //        "does not support it", e)

    //  }

    //}

    //appContext.setUnmanagedAM(isClientUnmanagedAMEnabled)

 

    //sparkConf.get(APPLICATION_PRIORITY).foreach { appPriority =>

    //  appContext.setPriority(Priority.newInstance(appPriority))

    //}

 

 

修改后:

 sparkConf.get(ROLLED_LOG_INCLUDE_PATTERN).foreach { includePattern =>

      try {

        val logAggregationContext = Records.newRecord(classOf[LogAggregationContext])

        val setRolledLogsIncludePatternMethod =

          logAggregationContext.getClass.getMethod("setRolledLogsIncludePattern", classOf[String])

        setRolledLogsIncludePatternMethod.invoke(logAggregationContext, includePattern)

 

        sparkConf.get(ROLLED_LOG_EXCLUDE_PATTERN).foreach { excludePattern =>

          val setRolledLogsExcludePatternMethod =

            logAggregationContext.getClass.getMethod("setRolledLogsExcludePattern", classOf[String])

          setRolledLogsExcludePatternMethod.invoke(logAggregationContext, excludePattern)

        }

 

        appContext.setLogAggregationContext(logAggregationContext)

      } catch {

        case NonFatal(e) =>

          logWarning(s"Ignoring ${ROLLED_LOG_INCLUDE_PATTERN.key} because the version of YARN " +

            "does not support it", e)

      }

    }

 

 

为什么要修改? 我们可以在hadoop源码中找到LogAggregationContext.java,这个类在2.6.3之后的版本是修改了的。可以对比下。

 

分享到:
评论

相关推荐

    apache-carbondata-1.4.0-bin-spark2.1.0-hadoop2.6.0-cdh5.11.1.jar

    carbondata-1.4,spark-2.1,hadoop-2.6.0-cdh5.11.1源码编译

    spark-assembly-1.5.2-hadoop2.6.0jar包

    总的来说,Spark-assembly-1.5.2-hadoop2.6.0.jar是开发和部署基于Spark的分布式大数据应用的关键组件,它的存在使得开发人员能够轻松地在Scala环境中利用Spark的强大功能。尽管随着Spark版本的更新,新的特性不断...

    spark2.3.3-hadoop2.6.0-cdh-5.15.2重新编译

    带编译所需的maven库,spark2.3.3源码基于hadoop2.6.0-cdh-5.15.2进行重新编译

    hadoop-2.6.0.tar.gz&hadoop-2.6.0-cdh5.16.2.tar.gz

    而hadoop-2.6.0-cdh5.16.2.tar.gz则是Cloudera公司推出的基于Hadoop 2.6.0的CDH(Cloudera Distribution Including Apache Hadoop)版本。CDH是业界广泛采用的企业级Hadoop发行版,它不仅集成了Hadoop的核心组件,还...

    编译过的Hadoop2.6.0-cdh5.7.0的spark2.1.0安装包

    此压缩包"Spark2.1.0-bin-2.6.0-cdh5.7.0"是针对Hadoop2.6.0-cdh5.7.0版本编译优化后的Spark2.1.0版本,适用于Cloudera Distribution Including Apache Hadoop (CDH) 5.7.0环境。 1. **Spark核心组件**:Spark的...

    hadoop2.6.0(winutils、hadoop.dll)

    4. **HDFS模拟器**: Hadoop2.6.0版本包含了HDFS的本地模拟器,使得开发者可以在单机的Windows环境下测试HDFS操作,而无需完整的分布式集群。这对于开发和调试Hadoop应用程序非常有用。 5. **安全认证**: winutils....

    dr-elephant hadoop2.6.0 64位编译文件

    《Dr-Elephant:Hadoop2.6.0与Spark1.x监控利器》 Dr-Elephant是一款由LinkedIn开发的开源应用,专为Hadoop MapReduce(MR)任务和Spark作业提供性能分析和监控。这款工具能够帮助大数据工程师和管理员深入理解任务...

    spark-1.6.1-bin-hadoop2.6.zip (缺spark-examples-1.6.1-hadoop2.6.0.jar)

    标题中的"(缺spark-examples-1.6.1-hadoop2.6.0.jar)"表明这个压缩包不包含`spark-examples-1.6.1-hadoop2.6.0.jar`,这是一个示例应用的JAR文件,通常用于展示如何使用Spark API来编写各种类型的应用。...

    hadoop-2.6.0.tar.gz

    这里的“hadoop-2.6.0.tar.gz”是一个压缩包,包含了Hadoop 2.6.0版本的所有源代码、编译后的二进制文件以及相关的配置文件。这个版本在Hadoop的发展历程中扮演了重要角色,引入了许多改进和新特性,以提升性能和...

    sqoop-1.4.7.bin__hadoop-2.6.0.tar

    Sqoop 是一个开源工具,主要用于在关系数据库管理...这个压缩包 "sqoop-1.4.7.bin__hadoop-2.6.0.tar" 提供了一个方便的途径,让开发者和数据工程师可以直接使用 Sqoop,而无需从官方源码编译或单独下载每个依赖项。

    hadoop2.6.0-winutils.exe.zip

    标题"Hadoop2.6.0-winutils.exe.zip"暗示了这是一个针对Windows操作系统的Hadoop工具包,特别是winutils.exe文件,它是Hadoop在Windows环境下运行所必需的关键组件。Hadoop通常在Linux系统中广泛使用,但通过...

    hadoop-2.6.0-cdh5.14.4.tar.gz for linux 支持snappy

    【标题】"hadoop-2.6.0-cdh5.14.4.tar.gz for linux 支持snappy" 指的是一个专为Linux系统编译的Hadoop发行版,具体是Cloudera的CDH(Cloudera Distribution Including Apache Hadoop)5.14.4版本,集成了对Snappy...

    hadoop-2.6.0-cdh5.14.0 64位 native文件库

    总的来说,这个压缩包提供了预编译的Hadoop 2.6.0 CDH 5.14.0的64位本地库,对于那些希望快速部署Hadoop环境而避免漫长编译过程的用户来说,是一个非常实用的资源。在使用前,确保你的系统满足所需的硬件和软件配置...

    基于hadoop-2.6.0-cdh5.4.3版本的源码阅读,以注释及博客的形式记录阅读笔记.zip

    Hadoop 2.6.0-cdh5.4.3 版本是 Cloudera Distribution 包含 Hadoop(CDH)的一个发行版,CDH 提供了对 Hadoop 生态系统的预编译、测试和优化,使得企业能够更方便地部署和管理 Hadoop 集群。此版本包含了多项改进和...

    hadoop-2.6.0-x64.tar 。。

    在Hadoop 2.6.0的压缩包中,`hadoop-2.6.0`包含了所有的源代码、编译后的二进制文件、配置文件以及文档。用户可以解压这个文件,按照官方文档提供的步骤进行安装和配置,创建Hadoop集群,并开始处理大数据任务。在...

    hadoop-2.6.0-bin-master

    综上所述,这个压缩包“hadoop-2.6.0-bin-master”是为了帮助Windows用户在Eclipse中顺利运行MapReduce和Spark程序,通过提供可能已经过修正的bin目录内容来解决环境配置问题。在实际操作中,用户需要按照说明解压...

    hadoop-2.6.0-cdh5.14.4 for windows

    【Hadoop-2.6.0-cdh5.14.4 for Windows】是一个专为Windows操作系统编译的Hadoop发行版,适用于测试和开发环境。这个版本是基于Cloudera Distribution Including Apache Hadoop(简称CDH)的5.14.4版本,集成了多个...

    成功编译后的 spark-2.1.0-bin-2.6.0-cdh5.7.0

    你提到的"成功编译后的文件"意味着你已经完成了这一过程,克服了可能遇到的依赖冲突、版本不兼容等问题,这通常需要对Spark源码和构建工具(如Maven或Gradle)有深入理解。编译后的Spark二进制包包含了运行Spark所需...

    hadoop-2.6.0-cdh5.14.0 for windows

    【标题】"hadoop-2.6.0-cdh5.14.0 for windows" 指的是一个特别为Windows操作系统编译的Hadoop发行版,它基于Cloudera的Distribution Including Apache Hadoop(简称CDH)的5.14.0版本。Hadoop是一个开源的大数据...

    spark编译部署和sparkbench编译

    Hadoop 是 Spark 的依赖项,需要下载与 Spark 编译或预编译版本对应的 Hadoop 版本,下载网址为: `https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/` 选择合适的 Hadoop 版本下载。 配置 Hadoop 的...

Global site tag (gtag.js) - Google Analytics