如何收集hadoop tasktracker状态?

如何收集hadoop tasktracker状态?,hadoop,Hadoop,我试图收集各种指标的积极跟踪,但它抛出了一个例外 不知道为什么 for(String s: jc.getClusterStatus(true).getActiveTrackerNames()){ System.out.println("tt "+s); System.out.println(""+ new org.apache.hadoop.mapreduce.server.jobtracker.TaskTr

我试图收集各种指标的积极跟踪,但它抛出了一个例外

不知道为什么

for(String s: jc.getClusterStatus(true).getActiveTrackerNames()){
            System.out.println("tt "+s);
            System.out.println(""+ new org.apache.hadoop.mapreduce.server.jobtracker.TaskTracker(s).getAvailableSlots(TaskType.MAP)); }
输出 提示符$/installs/hadoop-0.20.2//bin/hadoop-jar-tools.jar-tools.MetaInfo

tt tracker_10.0.0.6:localhost/127.0.0.1:53256 java.lang.NullPointerException位于org.apache.hadoop.mapreduce.server.jobtracker.TaskTracker.getAvailableSlots(TaskTracker.java:90)位于tools.MetaInfo.(MetaInfo.java:44)位于tools.MetaInfo.main(MetaInfo.java:51)位于sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)在java.lang.reflect.Method.invoke(Method.java:597)在org.apache.hadoop.util.RunJar.main(RunJar.java:186)jabir:Comparehjabir.ahmed$

不确定为什么它不显示可用插槽,但显示错误

我试图收集各种指标的积极跟踪,但它抛出了一个例外

new TaskTracker()
将创建一个新的TaskTracker,这不是您想要的

检查Hadoop框架中各种内置计数器的和类。这将有助于检索计数器。除了内置计数器外,还可以为任何特定于应用程序的数据以及与Hadoop框架相关的任何其他数据构建计数器


另外,将这些行拆分为多行。使用a().b().c().d().e(),很难知道NPE是什么时候来的。

您还可以找到当前状态,tasktracker在做什么