Невозможно использовать пользовательские JAR-файлы Mapreduce в Cosmos

Я создал свой собственный jar-файл Mapreduce и успешно протестировал его в старом кластере Hadoop Cosmos, используя команды оболочки HDFS. Следующим шагом было тестирование той же банки в новом кластере, поэтому я загрузил ее в HDFS нового кластера, в мою домашнюю папку (user/my.username).

Когда я пытаюсь запустить задание Mapreduce, используя сообщение curl ниже,

curl -X POST "http://computing.cosmos.lab.fiware.org:12000/tidoop/v1/user/my.username/jobs" -d '{"jar":"dt.jar","class_name":"DistanceTest","lib_jars":"dt.jar","input":"input","output":"output"}' -H "Content-Type: application/json" -H "X-Auth-Token: xxxxxxxxxxxxxxxxxxx"

Я получил:

{"успех":"ложь","ошибка":255}

Я пробовал разные значения пути для банки и получаю тот же результат. Должен ли я загружать свою банку куда-то еще или я пропустил некоторые необходимые шаги?


person McMutton    schedule 31.05.2016    source источник


Ответы (1)


В коде была ошибка, уже исправленная в глобальном экземпляре FIWARE Lab.

Я тестировал это:

$ curl -X POST "http://computing.cosmos.lab.fiware.org:12000/tidoop/v1/user/myuser/jobs" -d '{"jar":"mrjars/hadoop-mapreduce-examples.jar","class_name":"wordcount","lib_jars":"mrjars/hadoop-mapreduce-examples.jar","input":"testdir","output":"outputdir"}' -H "Content-Type: application/json" -H "X-Auth-Token: mytoken"
{"success":"true","job_id": "job_1460639183882_0016"}

Обратите внимание, что в этом случае mrjars/hadoop-mapreduce-examples.jar является относительным путем для hdfs:///user/myuser. Всегда используйте относительные пути с этой операцией.

$ curl -X GET "http://storage.cosmos.lab.fiware.org:14000/webhdfs/v1/user/myuser/mrjars?op=liststatus&user.name=myuser" -H "X-Auth-Token: mytoken"
{"FileStatuses":{"FileStatus":[{"pathSuffix":"hadoop-mapreduce-examples.jar","type":"FILE","length":270283,"owner":"myuser","group":"myuser","permission":"644","accessTime":1464702215233,"modificationTime":1464702215479,"blockSize":134217728,"replication":3}]}}

Результат:

$ curl -X GET "http://storage.cosmos.lab.fiware.org:14000/webhdfs/v1/user/myuser/outputdir?op=liststatus&user.name=myuser" -H "X-Auth-Token: mytoken"
{"FileStatuses":{"FileStatus":[{"pathSuffix":"_SUCCESS","type":"FILE","length":0,"owner":"myuser","group":"myuser","permission":"644","accessTime":1464706333691,"modificationTime":1464706333706,"blockSize":134217728,"replication":3},{"pathSuffix":"part-r-00000","type":"FILE","length":128,"owner":"myuser","group":"myuser","permission":"644","accessTime":1464706333264,"modificationTime":1464706333460,"blockSize":134217728,"replication":3}]}}

Я загружу исправление в репозиторий Cosmos на GitHub как можно скорее.

person frb    schedule 31.05.2016
comment
На этот раз я получаю {"success":"false","error":1}. Есть ли разница в версии Hadoop между старым и новым кластерами или я что-то упустил? Вот файл jar и образец ввода, который я использую для тестирования. - person McMutton; 02.06.2016