Как установить HADOOP_CLASSPATH для использования локальной файловой системы с локальным исполнителем заданий? - PullRequest
0 голосов
/ 20 января 2020

Как установить HADOOP_CLASSPATH для использования локальной файловой системы с локальным исполнителем заданий? Как установить путь ввода и вывода из локальных каталогов?

ClassNotFoundException возникает для классов мапперов и редукторов, когда я пытаюсь запустить следующую команду.

hadoop WordCount input/sample.txt output

текущее значение:

: имел oop classpath

/usr/local/hadoop/hadoop-3.2.1/etc/hadoop:/usr/local/hadoop/hadoop-3.2.1/share/hadoop/common/lib/*:/usr/local/hadoop/hadoop-3.2.1/share/hadoop/common/*:/usr/local/hadoop/hadoop-3.2.1/share/hadoop/hdfs:/usr/local/hadoop/hadoop-3.2.1/share/hadoop/hdfs/lib/*:/usr/local/hadoop/hadoop-3.2.1/share/hadoop/hdfs/*:/usr/local/hadoop/hadoop-3.2.1/share/hadoop/mapreduce/lib/*:/usr/local/hadoop/hadoop-3.2.1/share/hadoop/mapreduce/*:/usr/local/hadoop/hadoop-3.2.1/share/hadoop/yarn:/usr/local/hadoop/hadoop-3.2.1/share/hadoop/yarn/lib/*:/usr/local/hadoop/hadoop-3.2.1/share/hadoop/yarn/*:/usr/local/hadoop/hadoop-3.2.1/etc/hadoop/usr/local/hadoop/hadoop-3.2.1/share/hadoop/common/*.jar

версии:
Apache имел oop -3.2.1,
openjdk 11.0.5.

пожалуйста, помогите. Это полезно для отладки. Заранее спасибо.

1 Ответ

0 голосов
/ 21 января 2020

Я бы поверил, если бы у вас было исключение FileNotFound, но ваш путь к классу кажется нормальным, поэтому мне сложно увидеть, что вы получите исключение ClassNotFound

Хотя этот путь кажется неправильным /usr/local/hadoop/hadoop-3.2.1/etc/hadoop/usr/local/hadoop/hadoop-3.2.1/share/hadoop/common/*.jar.

Я бы предложил переместить все файлы из hadoop-3.2.1 в /usr/local/hadoop или, по крайней мере, переименовать каталог hadoop-3.2.1 в /usr/local/hadoop/3.2.1/

По умолчанию, если oop заданий используют file: // paths в качестве вашего fs.defaultFS (определено в core-site. xml)

В противном случае, если вы изменили это значение на hdfs://, тогда вы по-прежнему можете использовать локальные файлы, например

hadoop fs -ls file://

Для запуска заданий я бы предложил использовать yarn jar, а не hadoop <name>. И вам нужно затенить ваше приложение Java в uber-jar или использовать существующий JAR с oop -examples для запуска WordCount

...