[font='Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, 'Microsoft YaHei'] 我们尝试在ECS上部署了一个Hadoop节点,然后使用WebHDFS REST API来访问hdfs的接口。我们遇到的问题是,当我们调用形如:115.32.12.31:50070/webhdfs/v1/input/a.py?op=OPEN时,hadoop会重定向到 ecs实例名:50075/webhdfs/v1/input/a.py?op=OPEN&user.name=root&namenoderpcaddress=0.0.0.0:9000&offset=0, 问题就在于重定向的HOST是ECS的主机名,而不是外网ip,所以无法解析这个主机名。怎么让hadoop redirect的地址是我访问的外网地址?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据您描述的问题,您在ECS上部署了Hadoop节点,并尝试通过WebHDFS REST API访问HDFS文件时遇到了重定向问题。这通常是因为Hadoop的架构设计中,WebHDFS的HTTP请求首先由NameNode处理(默认端口50070),然后NameNode会重定向客户端到实际存储数据的DataNode(默认端口50075)去获取文件内容。这是正常的行为,但似乎您的环境配置或访问方式上可能存在问题。为了解决您的困惑,这里提供一些建议步骤和注意事项:
确认集群配置:
hdfs-site.xml配置文件中是否有关于WebHDFS的特殊设置,比如是否启用了HTTPS或者有特定的代理配置。处理重定向:
网络可达性:
安全设置:
检查防火墙规则:
使用完全限定域名(FQDN):
综上所述,遇到重定向是预期行为,关键在于客户端需正确处理这一重定向过程,并确保网络及安全配置支持这一交互。如果问题依旧,请检查日志文件(如NameNode和DataNode的日志)以获取更详细的错误信息,以便进一步诊断问题所在。
请根据上述建议检查并调整您的配置和访问方式,希望这能帮助您解决问题。