2

我在 Mesos 0.14 之上运行 Hadoop 1.2.1。我的目标是记录输入数据大小、运行时间、cpu 使用情况、内存使用情况等,以便以后进行优化。除了数据大小之外,所有这些都是使用 Sigar 获得的。

有什么方法可以获取正在运行的任何作业的输入数据大小?

例如,当我运行 hadoop 示例的terasort时,我需要在作业实际运行之前获取 teragen 生成的数据大小。如果我正在运行Wordcount 示例,我需要获取 wordcount 输入文件大小。我需要自动获取数据大小,因为以后我将无法知道该框架内将运行什么作业。

我正在使用 Java 编写一些 mesos 库代码。最好,我想在 MesosExecutor 类中获取数据大小。出于某种原因,升级 Hadoop/Mesos 不是一种选择。

任何建议或相关 API 将不胜感激。谢谢你。

4

1 回答 1

0

hadoop fs -dus满足你的要求吗?在将作业提交给 hadoop 之前,计算输入文件大小并将其作为参数传递给您的执行程序。

于 2015-07-31T06:25:01.897 回答