Spark / GraphX 1.5.0中工作人员之间任务分布不均

时间:2015-09-22 11:11:46

标签: apache-spark spark-graphx apache-spark-1.5

我有一个很大的边列表作为5000分区RDD。现在,我做的很简单但是 洗牌重的操作:

val g = Graph.fromEdges(edges, ...).partitionBy(...)
val subs = Graph(g.collectEdges(...), g.edges).collectNeighbors()
subs.saveAsObjectFile("hdfs://...")

该工作分为9个阶段(每个5000个任务)。我的群集在同一本地网络中有3名工作人员。 尽管Spark 1.5.0的工作速度要快得多,并且前几个阶段在满载时运行, 从其中一个阶段(mapPartitions at GraphImpl.scala:235)开始,一台机器突然完成了99%的任务 而其他人则承担与核心一样多的任务,并且这些任务保持RUNNING直到实际工作的一台机器 完成一切。有趣的是,在Spark 1.3.1上,所有阶段都可以分配任务 在集群机器之间平均分配。我怀疑这可能是1.5.0中的错误

UPD:看起来问题与数据无关:我随机生成了一个高度齐次的图(每个顶点都有5度)并观察到相同的行为。所以这是一个奇怪的硬件问题或与钨有关的问题。仍然没有确切答案

0 个答案:

没有答案