Hadoop HA Namenode远程访问

BAn*_*ade 5 hadoop high-availability remote-access nameservice

我使用HA namenode配置Hadoop 2.2.0稳定版本,但我不知道如何配置对群集的远程访问.

我有HA namenode配置了手动故障转移和我定义dfs.nameservices,我可以从群集中包含的所有节点访问具有nameservice的hdfs,但不能从外部访问.

我可以通过直接联系活动的namenode来对hdfs执行操作,但我不想这样,我想联系群集然后被重定向到活动的namenode.我认为这是HA群集的正常配置.

现在有人怎么做?

(提前致谢...)

Chr*_*ite 1

您需要联系名称节点之一(正如您当前所做的那样)- 没有可联系的集群节点。

hadoop 客户端代码知道两个名称节点的地址(在 core-site.xml 中),并且可以识别哪个是活动的,哪个是备用的。可能有一种方法可以询问仲裁中的 ZooKeeper 节点来识别活动/备用(也许,我不确定),但您也可以检查其中一个名称节点 - 您有 50/50 的机会它是活跃的那个。

我必须检查一下,但如果您只是从 HDFS 读取数据,您也许可以查询。