Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V at org.apache.hadoop.conf.Configuration.set(Configuration.java:1357) at org.apache.hadoop.conf.Configuration.set(Configuration.java:1338) at org.apache.spark.deploy.SparkHadoopUtil$.org$apache$spark$deploy$SparkHadoopUtil$$appendS3AndSparkHadoopConfigurations(SparkHadoopUtil.scala:464) at org.apache.spark.deploy.SparkHadoopUtil$.newConfiguration(SparkHadoopUtil.scala:436) at org.apache.spark.deploy.SparkSubmit$$anonfun$2.apply(SparkSubmit.scala:334) at org.apache.spark.deploy.SparkSubmit$$anonfun$2.apply(SparkSubmit.scala:334) at scala.Option.getOrElse(Option.scala:121) at org.apache.spark.deploy.SparkSubmit.prepareSubmitEnvironment(SparkSubmit.scala:334) at org.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:143) at org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:86) at org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:924) at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:933) at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
时间: 2023-10-05 14:12:47 浏览: 78
这个错误提示表明你的Spark应用程序在运行时遇到了NoSuchMethodError异常,具体原因是你的应用程序依赖的com.google.guava库版本与Hadoop库版本不兼容。在你的代码中使用了Hadoop的Configuration类时,它引用了Google Guava库中的方法,但是这个方法在你当前使用的Guava版本中不存在,从而导致了运行时异常。
为了解决这个问题,你需要升级或降级你的Guava库版本,以便与你当前使用的Hadoop库版本兼容。如果你使用的是Maven或Gradle构建工具,可以在项目的pom.xml或build.gradle文件中修改Guava库的版本号;如果你手动管理依赖关系,可以从Maven中央仓库中下载适当版本的Guava库,并将其添加到你的classpath中。
另外,如果你使用的是Spark on YARN模式,你还需要确保你的所有节点上都安装了相同版本的Guava库和Hadoop库,以便避免类库版本不一致的问题。
希望这个回答能够帮助你解决问题!
相关问题
exception in thread "main" java.lang.nosuchmethoderror: com.google.common.base.preconditions.checkargument(zljava/lang/string;ljava/lang/object;)v
这是一个程序运行时出现的错误,表明在类"com.google.common.base.preconditions"中找不到名为"checkArgument"的方法,该方法应该有一个字符串类型的参数和一个对象类型的参数。这可能是由于缺少依赖或版本不匹配导致的。建议检查项目依赖关系并确保所有依赖都是最新版本。
java.lang.nosuchmethoderror: com.google.common.base.preconditions.checkargument(zljava/lang/string;ljava/lang/object;)v
这是一个Java错误,错误信息为“java.lang.nosuchmethoderror: com.google.common.base.preconditions.checkargument(zljava/lang/string;ljava/lang/object;)v”。这个错误通常是由于缺少某个方法或类的版本不兼容引起的。建议检查代码中使用的Google Guava库的版本是否正确,并确保所有依赖项都已正确配置。