热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

java.lang.NoSuchMethodError:org.apache.hadoop.conf.Configuration.reloadExistingConfigurations()V

如何解决《java.lang.NoSuchMethodError:org.apache.hadoop.conf.Configuration.reloadExistingConfigurations()V》经验,为你挑选了1个好方法。

看起来我再次陷入了使用spark提交运行打包的spark应用程序jar的麻烦。以下是我的pom文件:


    
        oneview-forecaster
        com.dataxu.oneview.forecast
        1.0.0-SNAPSHOT
    
    4.0.0
    forecaster


    
        com.fasterxml.jackson.core
        jackson-databind
    
    
        com.fasterxml.jackson.module
        jackson-module-scala_${scala.binary.version}
    
    
        org.scala-lang
        scala-library
        ${scala.version}
    
    
        org.apache.spark
        spark-streaming_${scala.binary.version}
        ${spark.version}
        provided
    
    
        org.apache.spark
        spark-sql_${scala.binary.version}
        ${spark.version}
        
    
    
    
        org.apache.spark
        spark-hive_2.11
        2.2.0
        
    
    
        org.apache.hadoop
        hadoop-aws
        2.8.3
        
    
    
        com.amazonaws
        aws-java-sdk
        1.10.60
    
    
    
        joda-time
        joda-time
        2.9.9
    
    
    
        org.apache.hadoop
        hadoop-common
        2.8.0
        
    



    src/main/scala
    src/test/scala
    
        
            net.alchim31.maven
            scala-maven-plugin
            ${scala-maven-plugin.version}
            
                
                    
                        compile
                        testCompile
                    
                
            
        
        
            maven-assembly-plugin
            
                
                    
                        com.dataxu.oneview.forecaster.App
                    
                
                
                    jar-with-dependencies
                
            
            
                
                    make-assembly
                    package
                    
                        single
                    
                
            
        
    

以下是一个简单的代码段,该代码段从s3位置获取数据并进行打印:

def getS3Data(path: String): Map[String, Any] = {
    println("spark session start.........")
    val spark =  getSparkSession()

    val cOnfigTxt= spark.sparkContext.textFile(path)
        .collect().reduce(_ + _)

    val mapper = new ObjectMapper
    mapper.registerModule(DefaultScalaModule)
    mapper.readValue(configTxt, classOf[Map[String, String]])
}

当我从intellij运行它时,一切正常。日志很清楚,看起来不错。但是,当我使用mvn软件包对其进行打包并尝试使用spark提交运行它时,最终在出现以下错误.collect.reduce(_ + _)。以下是我遇到的错误:

 "main" java.lang.NoSuchMethodError: org.apache.hadoop.conf.Configuration.reloadExistingConfigurations()V
at org.apache.hadoop.fs.s3a.S3AFileSystem.addDeprecatedKeys(S3AFileSystem.java:181)
at org.apache.hadoop.fs.s3a.S3AFileSystem.(S3AFileSystem.java:185)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
...

我不了解未打包哪个依赖项,或者可能是问题所在,因为我确实正确设置了版本,期望hadoop的aws应该拥有所有的版本。

任何帮助将不胜感激。



1> ernest_k..:

hadoop和AWS JDK之间的依赖关系非常敏感,您应该坚持使用构建hadoop依赖关系版本的正确版本。

您需要解决的第一个问题是选择一个版本的Hadoop。我看到您正在混用的版本2.8.32.8.0

当我查看的依赖树时org.apache.hadoop:hadoop-aws:2.8.0,我发现它是针对1.10.6AWS SDK 版本构建的(与相同hadoop-aws:2.8.3)。

这可能是导致不匹配的原因(您正在混合使用不兼容的版本)。所以:

选择您要使用的hadoop版本

包含hadoop-aws与您的hadoop兼容的版本

删除其他依赖项,或仅将它们包含在与您的hadoop版本兼容的那些版本中。


推荐阅读
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • Spark与HBase结合处理大规模流量数据结构设计
    本文将详细介绍如何利用Spark和HBase进行大规模流量数据的分析与处理,包括数据结构的设计和优化方法。 ... [详细]
  • Presto:高效即席查询引擎的深度解析与应用
    本文深入解析了Presto这一高效的即席查询引擎,详细探讨了其架构设计及其优缺点。Presto通过内存到内存的数据处理方式,显著提升了查询性能,相比传统的MapReduce查询,不仅减少了数据传输的延迟,还提高了查询的准确性和效率。然而,Presto在大规模数据处理和容错机制方面仍存在一定的局限性。本文还介绍了Presto在实际应用中的多种场景,展示了其在大数据分析领域的强大潜力。 ... [详细]
  • 本文探讨了 Kafka 集群的高效部署与优化策略。首先介绍了 Kafka 的下载与安装步骤,包括从官方网站获取最新版本的压缩包并进行解压。随后详细讨论了集群配置的最佳实践,涵盖节点选择、网络优化和性能调优等方面,旨在提升系统的稳定性和处理能力。此外,还提供了常见的故障排查方法和监控方案,帮助运维人员更好地管理和维护 Kafka 集群。 ... [详细]
  • 使用 Jupyter Notebook 实现 Markdown 编写与代码运行
    Jupyter Notebook 是一个开源的基于网页的应用程序,允许用户在同一文档中编写 Markdown 文本和运行多种编程语言的代码,并实时查看运行结果。 ... [详细]
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
  • 本文详细介绍了如何在Linux系统(以CentOS为例)上彻底卸载Zimbra邮件系统,包括停止服务、删除文件和用户等步骤。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 深入解析Struts、Spring与Hibernate三大框架的面试要点与技巧 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 在搭建Hadoop集群以处理大规模数据存储和频繁读取需求的过程中,经常会遇到各种配置难题。本文总结了作者在实际部署中遇到的典型问题,并提供了详细的解决方案,帮助读者避免常见的配置陷阱。通过这些经验分享,希望读者能够更加顺利地完成Hadoop集群的搭建和配置。 ... [详细]
author-avatar
帅到不行2502875781
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有