如何在java的mapreduce程序中获取hadoop集群中的活动节点数

ckocjqey  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(456)

在终端中,它将使用以下命令显示活动节点的数量:

hadoop dfsadmin --report

我们试过这个代码。。。。

FSNamesystem fs=FSNamesystem.getFSNamesystem();
String s=fs.getFSState();
System.out.println(s+"\n\n");

在javamapreduce程序中,如何获得活动节点的数量?

brgchamk

brgchamk1#

在mapreduce作业中,可以使用以下代码:

YarnClient client = YarnClient.createYarnClient();
Configuration config = context.getConfiguration();
client.init(new YarnConfiguration(config));
client.start();
try {
    List<NodeReport> reports = client.getNodeReports(NodeState.RUNNING);
    System.out.println(reports.size());
}
catch (Exception ex) {
    System.err.println(ex.getMessage());
}
client.stop();

如果您不仅想要获得活动节点,还可以随时更改或添加更多节点状态 client.getNodeReports() 方法。

相关问题