[HADOOP] java.lang.ClassNotFoundException가 :에 의한 org.apache.hadoop.mapreduce.InputFormat
HADOOPjava.lang.ClassNotFoundException가 :에 의한 org.apache.hadoop.mapreduce.InputFormat
나는 MAC OSX 10.9.4에서 Sqoop을 가져 오기를하고 같은 오류를 얻고있다 :
14/10/24 11:51:41 INFO sqoop.Sqoop: Running Sqoop version: 1.4.5
14/10/24 11:51:41 INFO tool.BaseSqoopTool: Using Hive-specific delimiters for output. You can override
14/10/24 11:51:41 INFO tool.BaseSqoopTool: delimiters with --fields-terminated-by, etc.
14/10/24 11:51:41 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset.
14/10/24 11:51:41 INFO tool.CodeGenTool: Beginning code generation
14/10/24 11:51:42 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM `test_log` AS t LIMIT 1
14/10/24 11:51:42 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM `test_log` AS t LIMIT 1
14/10/24 11:51:42 INFO orm.CompilationManager: HADOOP_MAPRED_HOME is /Users/hadoop/hadoop-2.5.1/share/hadoop/mapreduce
Note: /tmp/sqoop-hadoop/compile/2398ed5be0489f1c76d6fb556f3e0e9d/test_log.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
14/10/24 11:51:45 INFO orm.CompilationManager: Writing jar file: /tmp/sqoop-hadoop/compile/2398ed5be0489f1c76d6fb556f3e0e9d/test_log.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/mapreduce/InputFormat
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:455)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:367)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:455)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:367)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:455)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:367)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:455)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:367)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.apache.sqoop.manager.ImportJobContext.<init>(ImportJobContext.java:51)
at com.cloudera.sqoop.manager.ImportJobContext.<init>(ImportJobContext.java:33)
at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:483)
at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:601)
at org.apache.sqoop.Sqoop.run(Sqoop.java:143)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)
at org.apache.sqoop.Sqoop.main(Sqoop.java:236)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.mapreduce.InputFormat
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 58 more
하둡 버전 : 2.5.1 Sqoop을 버전 : 1.4.5 OS : OSX10.9.4
ENV 변수가 설정되어 있습니다 :
또한 core.jar를가 존재
해결법
-
==============================
1.
for f in ${HADOOP_MAPRED_HOME}/*.jar; do HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:$f; done
빈 / 구성 - Sqoop을이 추가
-
==============================
2.어떻게 든 항아리에 액세스 할 수 없습니다했다. HDFS에서 Sqoop을 단지 퍼 팅 후, Sqoop을 가져 오기는 잘 갔다. 이 링크는 도움 Sqoop을 jar 파일을 찾을 수 없습니다
어떻게 든 항아리에 액세스 할 수 없습니다했다. HDFS에서 Sqoop을 단지 퍼 팅 후, Sqoop을 가져 오기는 잘 갔다. 이 링크는 도움 Sqoop을 jar 파일을 찾을 수 없습니다
-
==============================
3.라이브러리를 찾을 수 있습니다 $ HADOOP_COMMON_LIB_NATIVE_DIR의 경우를 확인하십시오. 그렇지 않으면 당신은 당신의 맵리 듀스 구현의 같은 디렉토리에 넣어 수 있습니다 :
라이브러리를 찾을 수 있습니다 $ HADOOP_COMMON_LIB_NATIVE_DIR의 경우를 확인하십시오. 그렇지 않으면 당신은 당신의 맵리 듀스 구현의 같은 디렉토리에 넣어 수 있습니다 :
/Users/hadoop/hadoop-2.5.1/share/hadoop/mapreduce/
-
==============================
4.저도 같은 문제를 겪고! 그냥 sqooq에서 lib 폴더에 하둡 - 맵리 듀스 클라이언트 코어-3.0.0-SNAPSHOT.jar를 복사합니다. 더러운하지만 작동합니다. 당신은 아마 그냥 몇 가지 테스트를 만들고 싶어
저도 같은 문제를 겪고! 그냥 sqooq에서 lib 폴더에 하둡 - 맵리 듀스 클라이언트 코어-3.0.0-SNAPSHOT.jar를 복사합니다. 더러운하지만 작동합니다. 당신은 아마 그냥 몇 가지 테스트를 만들고 싶어
-
==============================
5.CD $ SQOOP_HOME / 빈
CD $ SQOOP_HOME / 빈
정력 구성-Sqoop을
라인 아래에 추가
add_to_classpath ${HADOOP_MAPRED_HOME}
이후 "add_to_classpath의 $ {SQOOP_JAR_DIR}"
from https://stackoverflow.com/questions/26542874/caused-by-java-lang-classnotfoundexception-org-apache-hadoop-mapreduce-inputfo by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 하이브 지원은 선택에서 선택 하는가? (0) | 2019.09.24 |
---|---|
[HADOOP] 하둡 작업은 XML 파일을 분할하기 (0) | 2019.09.24 |
[HADOOP] 단어를 대체하는 스파크에 프로그램을 작성하는 방법 (0) | 2019.09.24 |
[HADOOP] 코끼리 조류와 하이브 예를 주소록 protobuf 데이터를 쿼리 할 수 없습니다 (0) | 2019.09.24 |
[HADOOP] 하둡 : Sqoop을 : 데이터베이스가 존재에도 불구하고 알 수없는 데이터베이스 '샘플'오류가 발생 (0) | 2019.09.24 |