ClassNotFoundException, когда я запускаю свой собственный код в Hadoop - PullRequest
0 голосов
/ 28 марта 2012

Мне удалось запустить примеры hadoop grep, wordcount ... однако я испытываю трудности с попыткой запустить собственный код ...
Это то, что я сделал;

Я скопировал код grep из jar примеров и внес в него свои собственные изменения. Я скомпилировал его с помощью команды javac; и я мог видеть в папке, которую я указал иерархию "org / apache / hadoop / examples / filename.class"

Затем я упаковал его (папку) в банку; в нем сейчас находится org / apache / ..... Теперь, когда я запустил команду "bin / hadoop jar folder.jar имя файла ввода-вывода" Я продолжаю получать эту ошибку:

Exception in thread "main" java.lang.ClassNotFoundException:.... 

есть идеи? или руководство?

Ответы [ 2 ]

2 голосов
/ 28 марта 2012

Убедитесь, что вы запускаете команду с полным именем класса grep:

hadoop jar folder.jar org.apache.hadoop.examples.Grep ..other_args..
0 голосов
/ 13 сентября 2014

, чтобы сделать эту работу, мне пришлось добавить в conf / hadoop-env.sh и мой путь к классам следующее:

  • export JAVA_HOME = / usr / java / latest
  • exportHADOOP_HOME = / usr / lib / hadoop
  • экспорт HADOOP_MAPRED_HOME = / usr / lib / hadoop-mapreduce
  • экспорт HADOOP_COMMON_HOME = $ HADOOP_HOME
  • экспорт HADOOHH_HDhadoop-hdfs
  • экспорт HADOOP_YARN_HOME = / usr / lib / hadoop-yarn
  • экспорт HADOOP_CONF_DIR = $ HADOOP_HOME / etc / hadoop
  • экспорт YARN_CONF_DIR_C * * * HADOOP1019 * export HADOOP_CLASSPATH = $ HADOOP_CLASSPATH: $ HADOOP_MAPRED_HOME: $ HADOOP_HDFS_HOME: $ HADOOP_YARN_HOME: $ HADOOP_HOME: $ HADOOP_CONF_DIR: $ YARN_H $: 10-ю $.
...