我在mesos0.14上运行hadoop1.2.1。我的目标是记录输入数据的大小、运行时间、cpu使用率、内存使用率等,以便以后进行优化。除数据大小外,所有这些都是使用sigar获得的。
有什么方法可以得到任何正在运行的作业的输入数据大小吗?
例如,当我运行hadoop示例的terasort时,我需要在作业实际运行之前获取teragen生成的数据大小。如果我在运行wordcount示例,我需要获得wordcount输入文件的大小。我需要自动获取数据大小,因为我无法知道以后在这个框架内运行什么作业。
我正在用java编写一些mesos库代码。最好,我想得到mesosexecutor类中的数据大小。出于某种原因,升级hadoop/mesos不是一种选择。
任何建议或相关的api将不胜感激。谢谢您。
1条答案
按热度按时间x8diyxa71#
做
hadoop fs -dus
满足你的要求?在将作业提交到hadoop之前,计算输入文件的大小并将其作为参数传递给执行器。