[HADOOP] 스레드 "main"의 예외 java.lang.NoClassDefFoundError : org / apache / hadoop / util / PlatformName
HADOOP스레드 "main"의 예외 java.lang.NoClassDefFoundError : org / apache / hadoop / util / PlatformName
이 예외와 관련하여 많은 게시물이 있었지만이 문제를 해결할 수는 없습니다. 클래스 패스를 편집해야한다고 생각합니다. hadoop 인프라에서 DistMap이라는 프로그램을 실행하려고합니다. 이것은 내가 얻는 오류입니다.
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.util.PlatformName
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.hadoop.util.PlatformName. Program will exit.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FsShell
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.fs.FsShell
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.hadoop.fs.FsShell. Program will exit.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/util/PlatformName
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.util.PlatformName
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.hadoop.util.PlatformName. Program will exit.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FsShell
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.fs.FsShell
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.hadoop.fs.FsShell. Program will exit.
Error could not create input directory /distmap_output_input folder on hdfs file system
어느 자바 말한다
/usr/java/jdk1.6.0_32/bin/java
echo $ CLASSPATH는 빈 줄을 준다.
cat ~ / .bash_profile이 말한다.
cat ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
최신 정보:
$ HADOOP_HOME / usr / lib / hadoop
$ HADOOP_CLASSPATH
/usr/lib/hadoop-0.20-mapreduce/hadoop-ant-2.0.0-mr1-cdh4.4.0.jar:/usr/lib/hadoop -0.20-mapreduce / hadoop-ant.jar : / usr / lib / / usr / lib / h adoop-0.20-mapreduce / hadoop-examples-2.0. 0.20-mapreduce / hadoop-core.jar : /usr/lib/hadoop-0.20-mapreduce/hadoop-core-2.0.0-mr1-cdh4.4.0.jar : /usr/lib/hadoop-0.20-mapreduce/hadoop -test-2.0.0-mr1-cdh4.4 .0.jar : /usr/lib/hadoop-0.20-mapreduce/hadoop-test.jar : /usr/lib/hadoop-0.20-mapreduce/hadoop-tools- 2.0.0-mr1-cdh4.4.0.jar : / usr / lib / hado op-0.20-mapreduce / hadoop-tools.jar : /usr/lib/hadoop-0.20-mapreduce/lib/*jar : / usr / lib / hadoop / hadoop-common.jar : /usr/lib/hadoop/hadoop-common-2.0.0-cdh4.4.0.jar
마지막 2 개의 jar 파일에는 PlatformName과 FsShell 클래스가 있습니다. 여전히 작동하지 않습니다.
누구든지이 문제를 해결할 수 있도록 도와 주시겠습니까?
감사
해결법
-
==============================
1.hadoop-auth-2.2.0.jar은 hadoop2.2.0에 있어야합니다. 버전에 따라 hadoop 인증을 추가하십시오.
hadoop-auth-2.2.0.jar은 hadoop2.2.0에 있어야합니다. 버전에 따라 hadoop 인증을 추가하십시오.
-
==============================
2.Maven 사용자이고이 문제에 직면 한 경우 -
Maven 사용자이고이 문제에 직면 한 경우 -
<dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>${hadoop.client.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>${hadoop.client.version}</version> </dependency>
참고 : : hadoop-client : 2.5.2만으로는 필요한 모든 hadoop 의존성을 가져 오지 못했습니다. 그래서 hadoop-common을 추가하여 필요한 모든 deps를 가져 왔습니다.
-
==============================
3.Hadoop HADOOP_CLASSPATH 문제
Hadoop HADOOP_CLASSPATH 문제
이것은 도움이 될 것입니다.
감사 & 감사합니다, Thaker의 제안
from https://stackoverflow.com/questions/18974098/exception-in-thread-main-java-lang-noclassdeffounderror-org-apache-hadoop-uti by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] C #으로 Avro 파일을 비 직렬화 (0) | 2019.06.19 |
---|---|
[HADOOP] 명령 줄에서 원사 구성 가져 오기 (0) | 2019.06.19 |
[HADOOP] 작업 클래스의 setJarByClass 메소드에 관한 Hadoop 질의 (0) | 2019.06.19 |
[HADOOP] MR 작업의 축소 작업에서 성공적인지도 작업 수에 액세스하는 방법이 있습니까? (0) | 2019.06.19 |
[HADOOP] HiveQL 및 rank () (0) | 2019.06.19 |