Новое в Hadoop Mapreduce, и я не уверен, почему я получаю эту ошибку.
В настоящее время я получаю:
Not a valid JAR: /nfsdata/DSCluster/home/user/bli1/wordcount/wc.jar
Это мой процесс:
Структура файла HDFS:
/bli1
/wordcount
wc.jar
WordCount.java
/input
file01
/output
file02
WordCount.java
и wc.jar
с jar cf wc.jar WordCount.java
file01
и file02
/input
и /output
каталога в /wordcount
в hdfsПеремещение файлов в свои каталоги с помощью hdfs
hdfs dfs -moveFromLocal <localsrc> <dst>
Команда Run:
hasoop jar/user/bli1/wordcount/wc.jar WordCount/user/bli1/wordcount/input/user/bli1/wordcount/output
ВЫВОД:
Not a valid JAR: /user/bli1/wordcount/wc.jar
Я попробовал это сделать JAR, но я бы получил ошибку.
$ hadoop com.sun.tools.javac.Main WordCount.java
Error: Could not find or load main class com.sun.tools.javac.Main
Если этот процесс для JAR отличается от jar cf wc.jar WordCount.java
это может вызвать проблему. Однако я не знаю, почему я получаю find or load main class error
Liondancer, в Java jar файле вы должны добавить скомпилированные файлы *.class, а не файлы источника *.java.
Кроме того, как только вы решите проблему, я думаю, что, скорее всего, Hadoop будет жаловаться на существование выходного каталога. Я имею в виду, что Hadoop будет ожидать создания такого выходного каталога, которого не должно существовать.