2016-07-15 8 views
1

Мне не удалось создать файл с помощью API Http-Hadoop REST.RemoteException при создании файла с API-интерфейсом WebHDFS REST

Следуя документам, я делаю это.

curl -i -X PUT "http://hadoop-primarynamenode:50070/webhdfs/v1/tmp/test1234?op=CREATE&overwrite=false" 

Ответ:

HTTP/1.1 307 TEMPORARY_REDIRECT 
Cache-Control: no-cache 
Expires: Fri, 15 Jul 2016 04:10:13 GMT 
Date: Fri, 15 Jul 2016 04:10:13 GMT 
Pragma: no-cache 
Expires: Fri, 15 Jul 2016 04:10:13 GMT 
Date: Fri, 15 Jul 2016 04:10:13 GMT 
Pragma: no-cache 
Content-Type: application/octet-stream 
Location: http://hadoop-datanode1:50075/webhdfs/v1/tmp/test1234?op=CREATE&namenoderpcaddress=hadoop-primarynamenode:8020&overwrite=false 
Content-Length: 0 
Server: Jetty(6.1.26) 

После редиректа:

curl -i -X PUT -T MYFILE "http://hadoop-datanode1:50075/webhdfs/v1/tmp/test1234?op=CREATE&namenoderpcaddress=hadoop-primarynamenode:8020" 

Ответ:

HTTP/1.1 100 Continue 

HTTP/1.1 400 Bad Request 
Content-Type: application/json; charset=utf-8 
Content-Length: 162 
Connection: close 

{"RemoteException":{"exception":"IllegalArgumentException","javaClassName":"java.lang.IllegalArgumentException","message":"Failed to parse \"null\" to Boolean."}} 

я не мог найти зацепки для этого сообщения об ошибке. Кто-нибудь испытал это раньше?

Я запускаю кластер Hadoop, установленный с использованием Ambari.

+0

Было & перезаписано = ложно исключено нарочно? – Shubhangi

+0

Это то же самое, существует ли переписывание = false или нет. – loungerdork

+0

Подал ошибку в HDFS JIRA: https://issues.apache.org/jira/browse/HDFS-10684 – loungerdork

ответ

0

Кажется, что вторая команда PUT требует параметра «createparent». Фактически, требуются как «перезапись», так и «createparent». WebHDFS не использует значения по умолчанию. Определенно ошибка ...

curl -i -X PUT -T MYFILE "http://hadoop-datanode1:50075/webhdfs/v1/tmp/test1234?op=CREATE&namenoderpcaddress=hadoop-primarynamenode:8020&overwrite=false&createparent=false" 
+0

Мне не нужно было добавлять параметр createparent, я пытался загрузить файл с более коротким именем, но как только я убедился, что имя файла в моей системе соответствует имени файла, которое я создавал на hadoop, все работало. – Hardy

 Смежные вопросы

  • Нет связанных вопросов^_^