通过cURL将文件从本地计算机(Windows)上传到HDFS:协议不匹配



我想实现的目标我想使用 cURL 将文件从本地 Windows 机器移动到 HDFS。就我而言,HDFS正在虚拟机上运行

什么不起作用我正在使用以下命令

curl -i -X PUT "http://ip:port/webhdfs/v1/...?op=CREATE"

正在从Windows命令提示符执行上述操作,我将其cd到包含testfile.txt的文件夹中。该命令返回以下内容

SSH-2.0-OpenSSH_5.3
Protocol mismatch.

编辑:根据这一点,我应该得到回应

HTTP/1.1 307 TEMPORARY_REDIRECT
Location: http://<DATANODE>:<PORT>/webhdfs/v1/<PATH>?op=CREATE...
Content-Length: 0

然后我应该能够运行第二步,如下所示

curl -i -X PUT -T testfile.txt "http://ip:port/webhdfs/v1/data?op=CREATE..."

问题如何使用 curl 在 hdfs 上成功上传文件?

协议不匹配的原因由cricket_007在评论中给出

根据您的响应,您已经蜷缩到SSH服务器,而不是名称节点。

这是由于curl -i -X PUT "http://ip:port/webhdfs/v1/...?op=CREATE"语句中的端口错误造成的。

Hortonworks 沙盒 HDP 发行版上的默认端口为 50070

相关内容

  • 没有找到相关文章

最新更新