次の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を提出していただければ解決いたします。