【问题标题】:http 045: method not allowed error while loading data to hadoop cluster using knox gateway-0.3.0http 045:使用 knox gateway-0.3.0 将数据加载到 hadoop 集群时方法不允许错误
【发布时间】:2014-04-14 07:50:53
【问题描述】:
我正在尝试列出 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
【问题讨论】:
标签:
hadoop
curl
knox-amazon-s3-client
【解决方案1】:
我已使用以下 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 和/或操作参数。
希望对你有帮助。
如果user guide 对此不清楚,我们希望您提交jira,我们会解决这个问题。