【问题标题】:Apache Spark : TaskResultLost (result lost from block manager) Error On clusterApache Spark:TaskResultLost(块管理器的结果丢失)集群上的错误
【发布时间】:2017-03-10 21:30:54
【问题描述】:

我在 Virtualbox 上有一个带有 3 个从属设备的 Spark 独立集群。我的代码在 Java 上,它在我的小型输入数据集上运行良好,它们的输入总共约为 100MB。

我将我的虚拟机 RAM 设置为 16GB,但是当我在大型输入文件(大约 2GB)上运行我的代码时,在我的 reduce 部分处理数小时后出现此错误:

Job aborted due to stage failure: Total size of serialized results of 4 tasks (4.3GB) is bigger than spark.driver.maxResultSize`

我编辑了spark-defaults.conf 并为spark.driver.maxResultSize 分配了更高的数量(2GB 和4GB)。它没有帮助,并且出现了同样的错误。

不,我正在尝试 8GB 的​​ spark.driver.maxResultSize,而我的 spark.driver.memory 也与 RAM 大小 (16GB) 相同。但我得到这个错误:

TaskResultLost (result lost from block manager)

有没有关于这个的cmets?我还包括一个图像。

我不知道问题是否是由maxResultSize 的大尺寸引起的,或者这与代码中的 RDD 集合有关。我还提供了代码的映射器部分,以便更好地理解。

JavaRDD<Boolean[][][]> fragPQ = uData.map(new Function<String, Boolean[][][]>() {
        public Boolean[][][] call(String s) {
            Boolean[][][] PQArr = new Boolean[2][][];
            PQArr[0] = new Boolean[11000][];
            PQArr[1] = new Boolean[11000][];
            for (int i = 0; i < 11000; i++) {
                PQArr[0][i] = new Boolean[11000];
                PQArr[1][i] = new Boolean[11000];
                for (int j = 0; j < 11000; j++) {
                    PQArr[0][i][j] = true;
                    PQArr[1][i][j] = true;

【问题讨论】:

    标签: java hadoop apache-spark mapreduce


    【解决方案1】:

    一般来说,此错误表明您正在收集/将大量数据带到驱动程序中。永远不应该这样做。您需要重新考虑您的应用程序逻辑。

    另外,您不需要修改spark-defaults.conf 来设置属性。相反,您可以通过spark-shellspark-submit 中的--conf 选项指定此类特定于应用程序的属性,具体取决于您运行作业的方式。

    【讨论】:

    • 感谢您的回答。司机不应该做任何重要的工作,对吧? WebUI 仅显示 2 个计数任务,仅需几秒钟,这是它在所有工作人员上运行的 reduce 部分,因此驱动程序在何处以及如何获取数据尚不清楚。没有任何映射过程的迹象,当它完成时,这就是监控变得如此混乱的原因。
    【解决方案2】:

    已解决:

    通过增加主 RAM 大小解决了该问题。我研究了我的案例,发现根据我的设计分配 32GB 的 RAM 就足够了。现在通过这样做,我的程序运行良好并且计算正确。

    【讨论】:

    【解决方案3】:

    就我而言,我收到此错误是因为防火墙阻止了驱动程序和执行程序之间的块管理器端口。 端口可以​​指定:

    • spark.blockManager.port
    • spark.driver.blockManager.port

    https://spark.apache.org/docs/latest/configuration.html#networking

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多