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 继续,307 用于重定向和 PUT 以及 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 被截断或 PUT 不适合接收到的 URL 和/或操作参数。

我希望这对你有帮助。

如果用户指南对此不清楚,那么我们希望您提交jira,我们会解决这个问题。

于 2014-05-08T01:09:26.913 回答