如何得到没有。使用java

时间:2015-10-01 06:58:30

标签: java hadoop mapreduce

在终端中,它将显示没有带有以下命令的实时节点:

hadoop dfsadmin --report

我们尝试过这段代码......

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

在java mapreduce程序中如何获取实时节点?

1 个答案:

答案 0 :(得分:1)

从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()方法更改或添加更多节点状态。