0

Hadoop クラスターに存在するデータを一覧表示し、curl コマンドを使用してデータをコピーしようとしていますが、http 405 エラーが発生します。以下は私が使用しているコマンドです。

curl -iku guest:guest-password  -L -T samples/hadoop-examples.jar \
-X PUT  "https://{172.17.198.172}:8443\
/gateway/sandbox/webhdfs/v1/user/guest/knox-sample/lib/hadoop-examples.jar?op=CREATE
4

1 に答える 1

0

次のcurlコマンドを使用してこれを試しましたが、成功しました:

curl -i -v -k -u guest:guest-password -L -T /Users/larry/hadoop-examples.jar -X PUT "https://{localhost}:8443/gateway/sandbox/webhdfs/v1/user/guest/knox-sample/lib/hadoop-examples.jar?op=CREATE"

その結果、期待される HTTP 100 が続行され、リダイレクトと PUT には 307 が返され、201 が作成されました。

後続の curl コマンドは、ターゲット ディレクトリの内容を一覧表示し、ファイルを存在として正常に一覧表示しました。

curl -i -v -k -u guest:guest-password https://localhost:8443/gateway/sandbox/webhdfs/v1/user/guest/knox-sample/lib?op=LISTSTATUS

あなたが提起したcurlコマンドには、少し奇妙なことがいくつかあります。

  • バックスラッシュの継続文字は、おそらく必要のない場所から例をコピーしたために残っているようです
  • URL を引用符で囲んでいませんでした
  • URL のホスト IP を囲む {} ブラケットも、コピーした例の変数からおそらく残っています。

上記の問題が組み合わさって、URL が切り捨てられたり、受信した URL や操作パラメーターに対して PUT が不適切になったりした可能性があります。

これがお役に立てば幸いです。

ユーザー ガイドでこれについて明確でない場合は、 jiraを提出していただければ解決いたします。

于 2014-05-08T01:09:26.913 に答える