2016-07-15 10 views
1

HadoopのWebHDFS REST APIを使用してファイルを作成できませんでした。WebHDFS REST APIを使用してファイルを作成するときのRemoteException

ドキュメントに続いて、私はこれをやっています。

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."}} 

私はそのエラーメッセージのいずれかのリードを見つけることができませんでした。誰もこれを経験したことがありますか?

Ambariを使用してインストールされたHadoopクラスタを実行しています。

+0

意図的に除外されましたか? – Shubhangi

+0

overwrite = falseがあるかどうかは同じです。 – loungerdork

+0

HDFS JIRAのバグを報告しました:https://issues.apache.org/jira/browse/HDFS-10684 – loungerdork

答えて

0

第2のPUTコマンドのように、「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

関連する問題