WebHDFS 的 Hadoop 名称节点 URL
Posted
技术标签:
【中文标题】WebHDFS 的 Hadoop 名称节点 URL【英文标题】:Hadoop name node URL for WebHDFS 【发布时间】:2015-02-03 15:02:43 【问题描述】:我有一个集群命名节点设置。命名节点配置为主动和被动。
当我进行 WEBHDFS 调用时,要提供的 URL 是
http://:/webhdfs/v1/
因为我有 2 个可用的命名节点,所以我有 2 个可用的 URL
http://:/webhdfs/v1/ - 它现在处于活动状态 http://:/webhdfs/v1/ - 现在是被动的
我的问题是:命名节点可以随时进行故障转移。我在 HOST 中提供什么价值?我应该提供服务名称吗?是否有通常在 HDP 平台中配置的虚拟 IP 来处理重定向?
或者我应该在命名节点前面放置一个负载平衡器或网关,以便在不影响调用应用程序的情况下处理故障转移。
【问题讨论】:
这是一个解决方法而不是答案,所以我把它放在这里作为评论。您可以尝试能够在主动/被动名称节点之间切换的 httpfs 服务。 【参考方案1】:这是一个错误,它在 HA 模式下不起作用。
每次 NN 更改其状态时,您都必须明确放置活动的 NN URL。
https://hortonworks.jira.com/browse/BUG-30030
【讨论】:
【参考方案2】:如果您正在与不活动的名称节点交谈,您将得到一个异常。
在这里查看我的答案Any command to get active namenode for nameservice in hadoop?
【讨论】:
【参考方案3】:您必须首先确定活动 Namenode,然后向活动 Namenode 发出 WebHDFS API 请求。向备用名称节点发出 WebHDFS API 请求将导致 HTTP 403 错误。
在使用 WebHDFS 时还没有自动确定活动 Namenode 的方法。您可以使用 hdfs 命令行客户端来查询配置,或者,循环访问 Namenodes 并向 `/jmx?qry=Hadoop:service=NameNode,name=NameNodeStatus" 端点发出 JMX API 请求并解析输出。
【讨论】:
以上是关于WebHDFS 的 Hadoop 名称节点 URL的主要内容,如果未能解决你的问题,请参考以下文章
✨[hadoop3.x系列]HDFS REST HTTP API的使用WebHDFS
[hadoop3.x系列]HDFS REST HTTP API的使用WebHDFS
如何解决hadoop文件无法浏览问题“Failed to retrieve data from /webhdfs/v1/?op=LISTSTATUS: Server Error“