Hadoop 使用Rumen从多节点集群的历史文件夹生成作业和拓扑跟踪
我有一个单节点集群,从中获取日志并输入TraceBuilder,它可以正常工作。 我已将5节点集群分组到默认机架下,并获得了日志。此处正确生成作业和拓扑跟踪 我已经设置了5个节点集群,每个节点都映射到不同的机架 我在Eclipse Helios上安装了hadoop-0.20.2。所以,我使用 主类:org.apache.hadoop.tools.rumen.TraceBuilder 我在集群上运行了一些作业,并使用主节点的/usr/local/hadoop/logs/history文件夹的副本作为TraceBuilder的输入。 参数:/home/arun/job.json/home/arun/topology.json/home/ubuntu/Documents/testlog 但我明白了Hadoop 使用Rumen从多节点集群的历史文件夹生成作业和拓扑跟踪,hadoop,Hadoop,我有一个单节点集群,从中获取日志并输入TraceBuilder,它可以正常工作。 我已将5节点集群分组到默认机架下,并获得了日志。此处正确生成作业和拓扑跟踪 我已经设置了5个节点集群,每个节点都映射到不同的机架 我在Eclipse Helios上安装了hadoop-0.20.2。所以,我使用 主类:org.apache.hadoop.tools.rumen.TraceBuilder 我在集群上运行了一些作业,并使用主节点的/usr/local/hadoop/logs/history文件夹的副本作
11/12/16 12:02:37 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
11/12/16 12:02:38 WARN rumen.TraceBuilder: TraceBuilder got an error while processing the [possibly virtual] file master_1324011575958_job_201112161029_0001_hduser_word+count within Path file:/home/ubuntu/Documents/testlog/master_1324011575958_job_201112161029_0001_hduser_word+count
java.lang.NullPointerException
at org.apache.hadoop.tools.rumen.JobBuilder.processTaskAttemptFinishedEvent(JobBuilder.java:492)
at org.apache.hadoop.tools.rumen.JobBuilder.process(JobBuilder.java:149)
at org.apache.hadoop.tools.rumen.TraceBuilder.processJobHistory(TraceBuilder.java:310)
at org.apache.hadoop.tools.rumen.TraceBuilder.run(TraceBuilder.java:264)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:69)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:83)
at org.apache.hadoop.tools.rumen.TraceBuilder.main(TraceBuilder.java:142)
.....................
它生成作业跟踪json文件,但其中的主机名和位置等字段为“null”,拓扑跟踪json文件没有5个节点的信息,如下所示:
{
"name" : "<root>",
"children" : [ ]
}
{
“名称”:“,
“儿童”:[]
}
有人能帮我吗?发生此错误是因为在输入目录中找不到预期的输入文件。 输入目录必须包含作业文件,例如:job_201205192032_0006_conf.xml。这些文件存储在logs/history文件夹中,但位于根据作业执行和执行日期生成的某些目录下