繁体   English   中英

在Hortonworks Hadoop(AWS EC2)上访问WebHDFS

[英]Access WebHDFS on Hortonworks Hadoop (AWS EC2)

我在Amazon EC2机器上遇到WebHDFS访问问题。 我已经安装了Hortonworks HDP 2.3 btw。

我可以通过以下http请求从浏览器(chrome)的本地计算机中检索文件状态:

http://<serverip>:50070/webhdfs/v1/user/admin/file.csv?op=GETFILESTATUS

这可以正常工作,但是如果我尝试使用?op=OPEN打开文件,则它将我重定向到该机器的私有DNS,我无法访问它:

http://<privatedns>:50075/webhdfs/v1/user/admin/file.csv?op=OPEN&namenoderpcaddress=<privatedns>:8020&offset=0

我还尝试使用以下命令从AWS机器本身访问WebHDFS:

[ec2-user@<ip> conf]$ curl -i http://localhost:50070/webhdfs/v1/user/admin/file.csv?op=GETFILESTATUS
curl: (7) couldn't connect to host

有谁知道为什么我无法连接到本地主机或为什么本地计算机上的OPEN无法正常工作? 不幸的是,我找不到任何教程来为Amazon计算机配置WebHDFS。

提前致谢

发生的是namenode将您重定向到datanode。 似乎您安装了单节点群集,但是从概念上讲,名称节点和数据节点是不同的,并且在您的配置中,数据节点在EC2 VPC的专用端处于活动状态/监听。

您可以将群集重新配置为在公共IP / DNS上托管数据节点(请参阅HDFS对多宿主网络的支持 ),但我不会那样做。 我认为适当的解决方案是添加一个Know网关 ,这是用于从公共API访问私有集群的专用组件。 具体来说,您将必须配置datanode URL,请参阅第5章。将内部节点映射到外部URL 在您的情况下似乎可以找到该示例:

例如,当使用WebHDFS服务上传文件时:

  • 外部客户端将请求发送到网关WebHDFS服务。

  • 网关使用服务URL将请求代理到WebHDFS。

  • WebHDFS确定在哪个DataNodes上创建文件,并在HTTP重定向中将上载的路径作为Location标头返回,其中包含datanode主机信息。

  • 网关通过将数据映射到外部可解析的主机名来基于重定向中的数据节点主机名来扩展路由策略。

  • 外部客户端继续通过网关上载文件。

  • 网关使用增强的路由策略将请求代理到数据节点。

  • 数据节点返回上载状态,网关再次转换信息,而不会暴露任何内部集群详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM