Импорт Sqoop из Oracle завершился с ошибкой Exception in thread main java.lang.NoClassDefFoundError: org/apache/hadoop/mapreduce/InputFormat

При попытке импортировать данные из Oracle в Hadoop с помощью Sqoop происходит сбой с ошибкой "Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/mapreduce/InputFormat"

Выполнено с этим Вызвано: java.lang.ClassNotFoundException : org.apache.hadoop.mapreduce.InputFormat. Но это не решило мою проблему.

Команда используется, как показано ниже.

sqoop import -D mapred.child.java.opts='-Djava.security.egd=file:/dev/urandom' --connect jdbc:oracle:thin:@//host:port/servicename --username XXXXX --password XXXXX   --hadoop-mapred-home /usr/lib/hadoop-mapreduce --table DB.STUDENTS --verbose --target-dir /user/1234/out -m 1

И ниже часть журнала, где я получаю сообщение об ошибке.

18/08/10 03:42:48 INFO orm.CompilationManager: Writing jar file: /tmp/sqoop-user1234/compile/115556141b1ea2b78ea960493a789953/DB1.STUDENTS.jar
18/08/10 03:42:48 DEBUG orm.CompilationManager: Scanning for .class files in directory: /tmp/sqoop-user1234/compile/115556141b1ea2b78ea960493a789953
18/08/10 03:42:48 DEBUG orm.CompilationManager: Got classfile: /tmp/sqoop-user1234/compile/115556141b1ea2b78ea960493a789953/DB1_STUDENTS.class -> DB1_STUDENTS.class
18/08/10 03:42:48 DEBUG orm.CompilationManager: Finished writing jar file /tmp/sqoop-user1234/compile/115556141b1ea2b78ea960493a789953/DB1.STUDENTS.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:763)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
        at java.security.AccessController.doPrivileged(Native Method)

Этот класс org/apache/hadoop/mapreduce/InputFormat доступен в банке /usr/lib/hadoop-mapreduce/hadoop-mapreduce-client-core-2.6.0-cdh5.7.1.jar, а переменная (export HADOOP_MAPRED_HOME=/usr/lib/hadoop-mapreduce)) задается этим путем.

И вот как настраиваются переменные ниже.

export HADOOP_MAPRED_HOME=/usr/lib/hadoop-mapreduce
export HADOOP_COMMON_HOME=/usr/lib/hadoop
export SQOOP_HOME=/usr/lib/sqoop
export HADOOP_CONF_DIR=/etc/conf/hadoop_dev

person Praveen L    schedule 09.08.2018    source источник