如何获取 Hadoop 集群中的主机数量、它们的 IP 和机架

How to get number of hosts in Hadoop Cluster, their IP and rack

我在一个集群上工作,但我不知道它到底有多少台主机,它们的 IP 是什么以及它们属于哪个机架。 我以前使用过通过 Cloudera 管理的集群,并从 Cloudera api (http://cloudera.github.io/cm_api/apidocs/v16/), in particular this (http://cm_server_host:7180/api/v16/hosts) 获得了这些信息,为我提供了我正在寻找的所有信息。但是,如果集群不使用 Cloudera,我该怎么做呢?它也有 spark,但是因为有 Hadoop 和 HDFS,我认为信息更有可能在那里找到。

提前致谢!

您可以通过 http api 找到这些信息,默认情况下应在 url 下可用:

http://<namenodehost>:50070

并通过 YARN http api,默认情况下应在此 url 下可用:

http://<resourcemanagerhost>:8088/cluster/nodes

或者您可以使用 ResourceManager REST API。

http://<resourcemanagerhost>:8088/ws/v1/cluster/nodes 

有关该主题的更多信息,例如,您可以在此处找到:

https://www.datadoghq.com/blog/collecting-hadoop-metrics/