如何解决使用WebHDFS文件上传API使用公共IP而不是主机名获取位置值
我们已经创建了Bigdata POC,并使用Angular创建了UI。现在我们要通过Angular应用程序将文件上传到HDFS,我们正在使用WebHDFS REST API。我们已遵循以下API链接:
https://hadoop.apache.org/docs/r1.0.4/webhdfs.html#CREATE
要在HDFS上上传文件,第一个调用是在Namenode上,如下所示: http:// localhost:50070 / webhdfs / v1 / Input?op = CREATE&user.name = root
现在,我们必须使用上述API中的Location值在Datanode上进行第二次调用,但是在Location值中,它提供了工作节点的主机名,并且我们正在通过Angular应用程序进行访问,因此我们必须替换工作节点的主机名与工作节点的公共IP。对于第一个呼叫,浏览器进行了307重定向,它将自动使用该位置进行重定向,因此,在使用angular时,我们将无法获得控制权,并且无法处理307或执行诸如添加/删除标头的操作。 我们已经在Azure Hortonworks Cloudbreak上创建了具有1个主节点和3个Worker节点的Bigdata群集。因此,对于第一个API调用,我们将获取任何工作节点的主机名,因此,如果我们仅使用任何特定的工作节点公共IP调用第二个API,则没有任何意义。现在我们要从Bigdata端处理它。有没有办法获取公共IP而不是第一个API调用的Location值中的主机名?或其他任何处理方式?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。