type
status
date
summary
slug
tags
category
password
icon

Hadoop Yarn - 高可用服务主备状态查询

在使用HDFS NameNodeYarn ResourceManager等具有高可用性的服务时,通常会遇到的一个问题是:判断哪个是主节点(active),哪个是备用节点(standby)。

命令行查询主备状态

一般常用的服务都会提供自带的命令行(如hdfs cliyarn cli等),通过 特定命令+节点id 可以判断主备状态。

a.HDFS NameNode主备查询命令:hdfs haadmin

CDH中查看HDFS的各项参数,默认在路径/etc/hadoop/conf.cloudera.hdfs/hdfs-site.xml下。
hdfs-site.xml文件中,可以找到高可用相关的配置:
从中可以看到,有两个namenode,一个是主节点(active),一个是备用节点(standby)。 如果使用命令行,查看主备的方法是用hdfs haadmin -getServiceState命令,如:
记忆方法:输入hdfs haadmin即可获得命令提示

b.Yarn ResourceManager主备查询命令:yarn rmadmin

CDH集群中,yarn-site.xml位于/etc/hadoop/conf.cloudera.yarn/yarn-site.xml,从中可以查看到:
使用命令 yarn rmadmin -getServiceState 可以查看主备状态:
如果只是为了得到IP地址,最简单的方式是:
notion image

Java API查询主备状态

用如果使用Java API,可以首先通过Configuration类获取配置信息,之后使用特定方法获取节点主备状态。 以HDFS NameNode为例,可以通过addResource()方法读取配置信息,之后用HAUtil.getAddressOfActive()方法获取节点主备信息。
  • 例:可使用如下代码输出HDFS NameNode active的节点地址
CDH 6.3.2 Hive on Spark 报错Required executor memoryCDH 6.3.2 Hue 报错Could not connect to xx:10000
Loading...