2

我有一个集群命名节点设置。命名节点配置为主动和被动。

当我进行 WEBHDFS 调用时,要提供的 URL 是

http://:/webhdfs/v1/

因为我有 2 个可用的命名节点,所以我有 2 个可用的 URL

http://:/webhdfs/v1/ - 现在是活跃的 http://:/webhdfs/v1/ - 现在是被动的

我的问题是:命名节点可以随时进行故障转移。我在 HOST 中提供什么价值?我应该提供服务名称吗?是否有通常在 HDP 平台中配置的虚拟 IP 来处理重定向?

或者我应该在命名节点前面放置一个负载平衡器或网关,以便在不影响调用应用程序的情况下处理故障转移。

4

3 回答 3

0

您必须首先确定活动 Namenode,然后向活动 Namenode 发出 WebHDFS API 请求。向备用名称节点发出 WebHDFS API 请求将导致 HTTP 403 错误。

使用 WebHDFS 时还没有自动确定活动 Namenode 的方法。您可以使用 hdfs 命令行客户端查询配置,或者,循环通过 Namenodes 并向 `/jmx?qry=Hadoop:service=NameNode,name=NameNodeStatus" 端点发出 JMX API 请求并解析输出。

于 2020-10-19T10:09:10.297 回答
0

这是一个错误,它在 HA 模式下不起作用。

每次 NN 更改其状态时,您都必须明确放置活动的 NN URL。

https://hortonworks.jira.com/browse/BUG-30030

于 2015-07-27T21:33:59.180 回答
0

如果您正在与不活动的名称节点交谈,您将得到一个例外。

在这里查看我的答案有任何命令可以在 hadoop 中为名称服务获取活动名称节点吗?

于 2015-10-02T06:47:13.003 回答