【问题标题】:hdfs dfs -ls on remote file system with multiple name nodes?hdfs dfs -ls 在具有多个名称节点的远程文件系统上?
【发布时间】:2020-02-21 18:12:13
【问题描述】:

我们有两个名称节点:nnA 和 nnB。

我想从远程系统查看该系统的文件和目录。

如果 nnA 是主名称节点,我可以执行 hdfs dfs -Dfs.defaultFS=hdfs://nnA -ls /path/to/files 如果 nnB 是主名称节点,我可以做 hdfs dfs -Dfs.defaultFS=hdfs://nnB -ls /path/to/files

如果我使用的名称节点恰好是当时的主节点,那么这两个命令都可以正常工作。如果我选择使用的名称节点恰好是辅助名称节点,我会收到错误 Operation category READ is not supported in state standby.

我希望能够在我的命令中指定两个名称节点。从远程系统我无法知道哪个namenode是主要的,哪个是次要的,它们完全有可能偶尔切换。

这是针对我正在处理的脚本,我真的想避免在任何时候调用 hdfs 时循环遍历可能的主名称节点。

我整天都在谷歌上搜索,但没有找到解决方案或使用此用例的其他人

【问题讨论】:

标签: hadoop hdfs


【解决方案1】:

从远程系统我无法知道哪个namenode是主要的,哪个是次要的

首先,“辅助名称节点”实际上是指某些东西,根据您收到的错误,您的意思似乎是 standby 名称节点。

You need to refer to the dfs.nameservices 在你的$HADOOP_CONF_DIR/hdfs-site.xml,然后你可以使用hdfs dfs -ls hdfs://nameservice/path

相关 - Any command to get active namenode for nameservice in hadoop?

【讨论】:

  • 看来我需要先为远程名称节点配置一个名称服务,然后引用名称服务应该可以工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-28
  • 1970-01-01
  • 2021-10-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多