【发布时间】:2015-01-27 18:56:43
【问题描述】:
我正在研究 Hadoop 性能建模。 Hadoop 有 200 多个参数,因此无法手动设置它们。因此,我们经常使用默认参数值运行我们的 hadoop 作业(例如使用默认值 io.sort.mb、io.sort.record.percent、mapred.output.compress 等)。但是使用默认参数值会给我们带来次优性能。 Herodotos Herodotou (http://www.cs.duke.edu/starfish/files/vldb11-job-optimization.pdf) 在这方面做了一些工作来提高性能。但我对他们的工作有以下疑问--
- 他们正在为 MapReduce 作业的所有阶段(读取、映射、收集等)固定作业开始时的参数值(根据数据的比例假设)。我们是否可以根据运行时环境(如集群配置、底层文件系统等)在运行时为每个阶段设置不同的这些参数值,通过更改特定节点的 Hadoop 配置日志文件以从节点获得最佳性能?
- 他们正在为 Hadoop 核心使用白盒模型,它们仍然适用于 当前的 Hadoop (http://arxiv.org/pdf/1106.0940.pdf)?
【问题讨论】:
-
Priyan,我不会投票结束这个问题,因为我对 Hadoop 的了解不够,无法知道这是否是一个好问题,但看起来 (a) 你没有提供足够的细节您尝试过什么以及您正在尝试做什么,并且(b)您提出的问题过于宽泛。 (#1 看起来您想要文档页面,而不是问题的答案。)我建议您编辑您的问题以使其更具体。其他人可能会投票关闭它。
-
现在,正确吗?
-
是的,很好。我认为编辑是让 Ashrith 能够回答的原因。 (#2 对我来说仍然不是很清楚,如果您指的是白盒模型的通用概念。如果有 Hadoop 特定的白盒模型概念,那么可能 #2 很清楚。正如我所说,我不了解 Hadoop。但如果 Ashrith 回答了第 1 条,而您仍然对第 2 条有疑问,也许您应该发布一个关于第 2 条的单独 Stackoverflow 问题。)
标签: performance hadoop modeling