Overview
Hadoopクラスターにアクセスするプログラムを実行する際、以下のようなエラーが発生します。
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration
at org.example.Main.main(Main.java:18)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.conf.Configuration
at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 1 more
package org.example;
public class Main {
public static void main(String[] args) throws IOException {
Configuration configuration = new Configuration();
configuration.set("fs.defaultFS", "hdfs://my_hdfs_fqdn:8020");
FileSystem fileSystem = FileSystem.get(configuration);
String directoryName = "tmp/test";
Path path = new Path(directoryName);
fileSystem.mkdirs(path);
}
}
解決方法
dependencyのscopeをコメントアウトすることで、クラスが見つからないエラーを解決できます。
<!-- <scope>provided</scope> -->
クイズ
Q1: 「Hadoop-Client NoClassDefFoundError の解決方法(IntelliJ)」の主なトピックは何ですか?
Hadoop-Client NoClassDefFoundError 発生時の解決方法
dependencyのscopeをコメントアウトすることで、クラスが見つからないエラーを解決できます。
현재 단락 (1/25)
Hadoopクラスターにアクセスするプログラムを実行する際、以下のようなエラーが発生します。