Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark Spark/GraphX 1.5.0中工人之间的任务分配不均_Apache Spark_Spark Graphx_Apache Spark 1.5 - Fatal编程技术网

Apache spark Spark/GraphX 1.5.0中工人之间的任务分配不均

Apache spark Spark/GraphX 1.5.0中工人之间的任务分配不均,apache-spark,spark-graphx,apache-spark-1.5,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个工作进程。 尽管Sp

我有一个很大的边列表,作为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%的任务 而其他人承担的任务与他们拥有的内核一样多,并且这些任务一直保持
运行
,直到有一台机器真正工作为止 完成一切。有趣的是,在Spark 1.3.1中,所有阶段的任务都是分布式的 在群集计算机之间均匀分布。我怀疑这可能是1.5.0中的一个bug


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

哪个阶段只生成一个任务?两者都没有。我想我没有解释清楚。所有阶段都有5000个任务。只是其中一个阶段(
mapPartitions at GraphImpl.scala:235
)只为一台机器提供了4900个任务,其余机器的所有任务都处于
运行状态,直到阶段结束。@Gillespie在前面的评论中忘了提到您您是否尝试过使用spark-1.5分支?似乎上一个发行版包含了很多bug。你能告诉我们吗?你是说github上的branch-1.5?没有,到目前为止,我使用了网站上的预构建spark 1.5.0。我将尝试从上述分支构建1.5.2,并在这里报告