Задание Hadoop MR - java.lang.ClassNotFoundException: au.com.bytecode.opencsv.CSVParser - PullRequest
0 голосов
/ 03 мая 2019

Рабочий процесс Oozie запускает Java-класс Hadoop Map Reduce.В свой проект Eclipse я добавил зависимости jar opencsv-2.3.jar и commons-lang-3-3.1 jar.Проект компилируется успешно, однако при перемещении его в кластер Hadoop я получаю ClassNotFoundError, хотя мой проект содержит jar.

Поскольку это работающая существующая устаревшая система, я не хочу менять зависимости среды.Следовательно, я пробовал разные комбинации, добавляя библиотеки в classpath без успеха.

Попытка: java.lang.NoClassDefFoundError: au / com / bytecode / opencsv / CSVReader - Загрузить файл Vaadin

Проверено с зависимостью maven от клиента MR - org.apache.hadoop: Hadoop-MapReduce-клиент-общее: 2.6.0-cdh5.4.2.

Устаревший jar в рабочей среде работает нормально, но скомпилированный jar моего проекта выдает следующие ошибки:

oozie syslog:

INFO [uber-SubtaskRunner] org.apache.hadoop.mapreduce.Job: Running job: job_123213123123_35305
INFO [communication thread] org.apache.hadoop.mapred.TaskAttemptListenerImpl: Progress of TaskAttempt attempt_1548794054671_35304_m_000000_0 is : 1.0
INFO [uber-SubtaskRunner] org.apache.hadoop.mapreduce.Job: Job job_123213123123_35305 running in uber mode : false
INFO [uber-SubtaskRunner] org.apache.hadoop.mapreduce.Job:  map 0% reduce 0%
INFO [uber-SubtaskRunner] org.apache.hadoop.mapreduce.Job: Task Id : attempt_123213123123_35305_m_000001_0, Status : FAILED           

oozie stderr:

Error: java.lang.ClassNotFoundException: au.com.bytecode.opencsv.CSVParser
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:142)
    at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:787)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
    at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:415)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1671)
    at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)

Пожалуйста, предложите, если я что-то упустил и что я могу попробовать. enter image description here

1 Ответ

0 голосов
/ 10 мая 2019

opencsv-2.3.jar библиотека была добавлена ​​из Eclipse Build Path в качестве внешнего jar.Мне пришлось использовать mvn clean и построить его.Наконец, использовал "* jar-with-dependencies.jar" из целевой папки, которая устранила проблему.

...