如何收集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在做什么