【发布时间】:2013-12-10 20:15:04
【问题描述】:
我有一个在 HBase 表上运行的 map reduce 作业。它在应用一些扫描过滤器并进行一些处理后扫描 Hbase 表。
这项工作需要很长时间,肯定比预期的要多得多,并且感觉性能下降是指数级的(即,前 90% 的完成速度比其余的快得多,大约 98% 之后(映射器完成),似乎像电影开场中的地狱一样陷入永恒。
从高层次来看,这种不平衡的性能应该没有理由,因为扫描中的每一行都应该表现相似,并且下游服务应该在 HBase 表的每一行中都有相似的 SLA。
如何调试和分析此作业?是否有任何可用的工具可以帮助我测量系统并查明行为不端的组件?
【问题讨论】:
-
“不均匀”的性能是 map-reduce 本身的一个特点。由于它并行启动所有任务,并且某些任务比其他任务完成得更快,因此吞吐量最初非常高,随着时间的推移逐渐减少。
-
是否有工具可以分析时间花在哪里和分手?