Первая ошибка проекта "хаос": "Входной путь не существует"

Чтобы настроить простой проект hadoop, я следую этому руководству: http://ebiquity.umbc.edu/Tutorials/Hadoop/23%20-%20create%20the%20project.html

Мой сингл oneoop node работает нормально.

Когда я укажу папку In, используя этот код:

FileInputFormat.setInputPaths(conf, new Path("In"));

Я получаю эту ошибку:

13/03/03 22:05:27 ERROR security.UserGroupInformation: PriviledgedActionException as:DEVUSER cause:org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: hdfs://localhost:9100/user/DEVUSER/In

В настоящее время папка In создается в C:\homedir\hadoop-1.0.4\In

Где мне нужно создать папку "В", чтобы она отображалась в hdfs://localhost:9100/user/DEVUSER/In? Нужно ли обновлять xml файл, чтобы указать на папку в локальной файловой системе?

Ответ 1

Сначала вы должны сначала загрузить свои входные файлы в файловую систему HDFS:

bin/hadoop fs -mkdir In

создаст каталог с именем /user/DEVUSER/In в HDFS.

bin/hadoop fs -put *.txt In

скопирует все *.txt файлы из текущего каталога в кластер (HDFS).

Вы, кажется, пропустили раздел Загрузить данные из учебника. Следуйте за ней, и ваша проблема должна быть решена.

Ответ 2

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

FileInputFormat.setInputPaths(conf, new Path("file://path of the In Folder on your File system "));

Ответ 3

Как сказал гарпун, но для какой-то ситуации даже вы попытались создать этот каталог под HDFS, это не будет и даст вам это сообщение: mkdir: `In ': Нет такого файла или каталога В качестве решения для этого вам необходимо:

bin/hadoop fs -mkdir/tmp/In

а затем скопируйте файлы текстов в кластер HDFS

bin/hadoop fs -put *.txt/tmp/In