【问题标题】:Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.conf.Configuration.getPassword(Ljava/lang/String;)[C线程“主”java.lang.NoSuchMethodError 中的异常:org.apache.hadoop.conf.Configuration.getPassword(Ljava/lang/String;)[C
【发布时间】:2021-12-15 23:34:59
【问题描述】:

问题陈述: 在使用以下版本的 jar/lib 从本地 spark java 代码创建位于存储桶(GCP)的文件数据集时,出现异常。

异常 1:“线程“主”java.lang.NoSuchMethodError 中的异常:org.apache.hadoop.conf.Configuration.getPassword(Ljava/lang/String;)[C”

使用以下 jar/lib 集时出现上述异常。

Spark - org.apache.spark
spark-core_2.11
spark-sql_2.11
Hadoop - org.apache.hadoop
hadoop-auth 3.3.1
hadoop-hdfs 3.3.1
hadoop-common 3.3.1
hadoop-mapreduce-client-core 3.3.1
hadoop-mapreduce-client-jobclient 3.3.1
hadoop-nfs 3.3.1
hadoop-client 3.3.1
com.google.cloud.bigdataoss
gcs-connector-hadoop2-latest

以下是本地java源码

SparkConf objSparkConf = new SparkConf();
objSparkConf.setAppName("Spark");
objSparkConf.setMaster("local[*]");
objSparkConf.set("fs.gs.impl", "com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystem");
objSparkConf.set("fs.AbstractFileSystem.gs.impl", "com.google.cloud.hadoop.fs.gcs.GoogleHadoopFS");
objSparkConf.set("google.cloud.auth.service.account.enable", "true");
objSparkConf.set("google.cloud.auth.service.account.json.keyfile", "D:\\GCP\\test-environment-json-keyfile.json");
objSparkConf.set("fs.defaultFS", "gs://hudi-bucket");
JavaSparkContext spContext = new JavaSparkContext(objSparkConf);
SparkSession sparkSession = SparkSession.builder().appName("Test_Spark").getOrCreate();
String sFileUrl = "gs://test/2/4/CRUNCH_JOB.3d997666-7d58-4ee8-bf42-a30438983ccb.20211025_072502";
Dataset<Row> dataSet1 = sparkSession.read().format("csv").option("header", "true").load(sFileUrl);

【问题讨论】:

  • 上次我检查过,Spark 不使用 Hadoop3 依赖项,因此您应该删除这些,因为 Spark 本身包含这些依赖项,使用其他版本会导致此类错误

标签: java apache-spark hadoop google-cloud-platform


【解决方案1】:

在我的例子中,这个错误是由作为传递性 Maven 依赖项引入的旧版本的 hadoop-core(1.2.1 而不是 2.6.5)引起的。您还可以设置断点并检查您的类 org.apache.hadoop.conf.Configuration 来自哪个 jar 和版本。

【讨论】:

    猜你喜欢
    • 2015-07-09
    • 2019-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-07
    • 1970-01-01
    相关资源
    最近更新 更多