我正在尝试配置我的应用程序以查看是否可以重现this blogpost。我在命令行中添加了-D mapred.task.profile = true,并检查了它所执行的作业配置。
Hadoop: The Definitive Guide表示个人资料信息将出现在我运行作业的Unix目录中。我开始的目录有一个文件attempt_201305011806_0042_m_000002_0.profile,这是正确的作业ID,但没有映射器#2(只有1个映射器,它没有失败)。输出仅在配置文件中包含标题信息;没有任何实际的分析信息。
Hadoop文档说输出将在用户日志目录中,但我找不到任何内容。如果我进入映射器的任务日志,则会在“profile.out logs”下显示包含合法信息的分析信息。我的HDFS输出目录根本没有分析信息。分析输出不应该在某个地方的HDFS中吗?
此外,它只在日志中提供基于文本的输出,但我发现可视化配置文件的所有工具都采用二进制hprof格式。有关如何获取二进制配置文件或将基于文本的配置文件加载到hprof工具的任何想法?
答案 0 :(得分:3)
我注意到
有一个空间-D mapred.task.profile=true
这是一个错字吗?如果是,只需删除它,看看会发生什么。此外,您应该能够在用户日志目录下查看分析器文件,该目录通常是您运行作业的位置。
此外,hprof是hadoop的默认值,因此请检查是否使用覆盖它
-Dmapred.task.profile.params