java - 如何获得编号使用java的mapreduce程序中HADOOP集群中的 Activity 节点

标签 java hadoop mapreduce

在终端中,它将使用以下命令显示没有 Activity 节点:

hadoop dfsadmin --report

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

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

在java mapreduce程序中如何获取 Activity 节点数?

最佳答案

在 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();

如果您不仅想要获取 Activity 节点,还可以在 client.getNodeReports() 方法中更改或添加更多节点状态。

关于java - 如何获得编号使用java的mapreduce程序中HADOOP集群中的 Activity 节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32881261/

相关文章:

java - 在 java 字符串中转义 % 符号以应用 String.format

hadoop - 超时导致sqoop导出失败

Hadoop 的容量调度程序 - 设置多个队列

hadoop - mapreduce作业失去连接,然后在hadoop示例 “calculating pi 3 3”中重新连接

java - 确定周数是偶数还是奇数

java - 使用流将对象列表转换为从 toString 方法获取的字符串

java - Hadoop Java - 将文件从Windows共享文件夹服务器复制到HDFS

来自 HBase 的 Hadoop mapreduce 流

java - 用Java构建一个客户端/服务器端双向通信反馈系统的服务器?

hadoop - 使用Pig从CSV文件读取数据