Пример Hadoop WordCount — параметр «Выполнить в Hadoop (Eclipse)» не предлагает выбрать сервер Hadoop для запуска в окне

Я пытаюсь запустить пример подсчета слов в Eclipse. Обычно, когда мы нажимаем опцию «запустить на Hadoop» в eclipse, мы получаем новое окно с просьбой выбрать местоположение сервера. Но теперь он напрямую запускает программу, не прося меня выбрать существующий сервер из списка ниже.

Я думаю, что из-за этого я получаю следующее исключение:

13/04/21 08:46:31 ERROR security.UserGroupInformation: PriviledgedActionException as:hduser1 cause:org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: file:/home/hduser1/gutenbergIP/pg4300.txt
Exception in thread "main" org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: file:/home/hduser1/gutenbergIP/pg4300.txt

Мой код работает, если я изменю строку с:

FileInputFormat.setInputPaths(conf, "/home/hduser1/gutenbergIP/pg4300.txt");

to:

FileInputFormat.setInputPaths(conf, "hdfs://localhost:54310/home/hduser1/gutenbergIP/pg4300.txt");

Если я явно укажу имя файла с полным URL-адресом, он работает. Мне нужна помощь в этом. Как я могу заставить свой относительный URL-адрес работать вместо полного URL-адреса (должен представить это как задание в школе).


person sunil kumar    schedule 21.04.2013    source источник


Ответы (1)


Добавьте следующие 2 строки в свой код:

config.addResource(new Path("/HADOOP_HOME/conf/core-site.xml"));
config.addResource(new Path("/HADOOP_HOME/conf/hdfs-site.xml"));

Если вы не укажете это, ваш клиент будет просматривать локальную файловую систему, которая не содержит указанного пути, и поэтому выдает эту ошибку.

person Tariq    schedule 21.04.2013