如何使用java在mapreduce程序中获取HADOOP集群中的活动节点数
在终端中,它将使用以下命令显示活动节点的数量:如何使用java在mapreduce程序中获取HADOOP集群中的活动节点数,java,hadoop,mapreduce,Java,Hadoop,Mapreduce,在终端中,它将使用以下命令显示活动节点的数量: hadoop dfsadmin --report 我们已尝试此代码 FSNamesystem fs=FSNamesystem.getFSNamesystem(); 字符串s=fs.getFSState(); System.out.println(s+“\n\n”); 在java mapreduce程序中,如何获取活动节点数?从mapreduce作业中,您可以使用以下代码: YarnClient client = YarnClient.creat
hadoop dfsadmin --report
我们已尝试此代码
FSNamesystem fs=FSNamesystem.getFSNamesystem();
字符串s=fs.getFSState();
System.out.println(s+“\n\n”);
在java mapreduce程序中,如何获取活动节点数?从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();
YarnClient client=YarnClient.createYarnClient();
Configuration config=context.getConfiguration();
init(新的YarnConfiguration(config));
client.start();
试一试{
列表报告=client.getNodeReports(NodeState.RUNNING);
System.out.println(reports.size());
}
捕获(例外情况除外){
System.err.println(例如getMessage());
}
client.stop();
如果您不仅想获取活动节点,还可以在client.getNodeReports()
方法中更改或添加更多节点状态