如何收集hadoop tasktracker状态?

时间:2011-12-29 18:50:52

标签: hadoop

我正在尝试为活跃的tasttrackers收集各种指标,但它会引发异常

不确定原因?

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位于tools.MetaInfo的org.apache.hadoop.mapreduce.server.jobtracker.TaskTracker.getAvailableSlots(TaskTracker.java:90)。 (MetaInfo.java:44)位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)的sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)上的tools.MetaInfo.main(MetaInfo.java:51)。在org.apache.hadoop.util.RunJar.main(RunJar.java:186)的java.lang.reflect.Method.invoke(Method.java:597)中反映.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)jabir: CompareHdfs jabir.ahmed $

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

2 个答案:

答案 0 :(得分:1)

  

我正在尝试为活跃的tasttrackers收集各种指标,但它会引发异常

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

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

此外,将线条分成多行。使用()。b()。c()。d()。e(),很难知道NPE何时来自。

答案 1 :(得分:0)

您还可以找到当前状态,使用tasktracker做什么 http://x.x.x.x:50060/tasktracker.jsp