Arhn - архитектура программирования

Ошибка при запуске скрипта Python со Spark

Итак, я запускаю скрипт Python (которым я не могу поделиться из-за некоторых соображений безопасности), и у меня есть некоторые проблемы с его запуском. Я использую искру и получаю эту ошибку при использовании функции groupbyKey().mapvalues ​​и функции sortbyKey().

Я погуглил эту ошибку и попытался сбой задания Spark: хранилище .DiskBlockObjectWriter: неперехваченное исключение при отмене частичной записи в файл и другие подобные ответы.

Это полная ошибка.

2019-07-26 09:35:20,698 ERROR storage.DiskBlockObjectWriter: Uncaught 
      exception while reverting partial writes to file /tmp/blockmgr-0b509bcc- 
      b1b3-4edb-993f-208ca6107f06/12/temp_shuffle_6569085f-65d9-46c3-9466- 
      a37d7fbc8caf
      java.io.FileNotFoundException: /tmp/blockmgr-0b509bcc-b1b3-4edb-993f- 
      208ca6107f06/12/temp_shuffle_6569085f-65d9-46c3-9466-a37d7fbc8caf (Too 
      many open files)
      at java.io.FileOutputStream.open0(Native Method)
      at java.io.FileOutputStream.open(FileOutputStream.java:270)
      at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
      at    org.apache.spark.storage.DiskBlockObjectWriter$$anonfun$revertPartialWritesAndClose$2.apply$mcV$sp(DiskBlockObjectWriter.scala:217)
        at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1369)
        at org.apache.spark.storage.DiskBlockObjectWriter.revertPartialWritesAndClose(DiskBlockObjectWriter.scala:214)
        at  org.apache.spark.shuffle.sort.BypassMergeSortShuffleWriter.stop(BypassMergeSortShuffleWriter.java:237)
        at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:105)
        at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:55)
        at org.apache.spark.scheduler.Task.run(Task.scala:121)
        at org.apache.spark.executor.Executor$TaskRunner$$anonfun$10.apply(Executor.scala:408)
        at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1360)
        at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:414)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

2019-07-26 09:35:20,724 ERROR sort.BypassMergeSortShuffleWriter: Error while deleting file /tmp/blockmgr-0b509bcc-b1b3-4edb-993f-208ca6107f06/12/temp_shuffle_6569085f-65d9-46c3-9466-a37d7fbc8caf
2019-07-26 09:35:21,822 ERROR executor.Executor: Exception in task 53.0 in stage 1.0 (TID 152)
    java.io.FileNotFoundException: /tmp/blockmgr-0b509bcc-b1b3-4edb-993f-208ca6107f06/3c/temp_shuffle_a4e5cecd-e130-4671-b0ba-36e98e2dc158 (Too many open files)
        at java.io.FileOutputStream.open0(Native Method)
        at java.io.FileOutputStream.open(FileOutputStream.java:270)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
        at org.apache.spark.storage.DiskBlockObjectWriter.initialize(DiskBlockObjectWriter.scala:103)
        at org.apache.spark.storage.DiskBlockObjectWriter.open(DiskBlockObjectWriter.scala:116)
        at org.apache.spark.storage.DiskBlockObjectWriter.write(DiskBlockObjectWriter.scala:237)
        at org.apache.spark.shuffle.sort.BypassMergeSortShuffleWriter.write(BypassMergeSortShuffleWriter.java:151)
        at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:99)
        at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:55)
        at org.apache.spark.scheduler.Task.run(Task.scala:121)
        at org.apache.spark.executor.Executor$TaskRunner$$anonfun$10.apply(Executor.scala:408)
        at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1360)
        at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:414)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
2019-07-26 09:35:21,861 WARN scheduler.TaskSetManager: Lost task 53.0 in stage 1.0 (TID 152, localhost, executor driver): java.io.FileNotFoundException: /tmp/blockmgr-0b509bcc-b1b3-4edb-993f-208ca6107f06/3c/temp_shuffle_a4e5cecd-e130-4671-b0ba-36e98e2dc158 (Too many open files)
        at java.io.FileOutputStream.open0(Native Method)
        at java.io.FileOutputStream.open(FileOutputStream.java:270)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
        at org.apache.spark.storage.DiskBlockObjectWriter.initialize(DiskBlockObjectWriter.scala:103)
        at org.apache.spark.storage.DiskBlockObjectWriter.open(DiskBlockObjectWriter.scala:116)
        at org.apache.spark.storage.DiskBlockObjectWriter.write(DiskBlockObjectWriter.scala:237)
        at org.apache.spark.shuffle.sort.BypassMergeSortShuffleWriter.write(BypassMergeSortShuffleWriter.java:151)
        at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:99)
        at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:55)
        at org.apache.spark.scheduler.Task.run(Task.scala:121)
        at org.apache.spark.executor.Executor$TaskRunner$$anonfun$10.apply(Executor.scala:408)
        at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1360)
        at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:414)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

2019-07-26 09:35:21,863 ERROR scheduler.TaskSetManager: Task 53 in stage 1.0 failed 1 times; aborting job
    Traceback (most recent call last):
      File "BowtieSpark.py", line 60, in <module>
        readsRDD = reads_tuple.sortByKey().values()
      File "/s1/snagaraj/spark/python/pyspark/rdd.py", line 667, in sortByKey
        rddSize = self.count()
      File "/s1/snagaraj/spark/python/pyspark/rdd.py", line 1055, in count
        return self.mapPartitions(lambda i: [sum(1 for _ in i)]).sum()
      File "/s1/snagaraj/spark/python/pyspark/rdd.py", line 1046, in sum
        return self.mapPartitions(lambda x: [sum(x)]).fold(0, operator.add)
      File "/s1/snagaraj/spark/python/pyspark/rdd.py", line 917, in fold
        vals = self.mapPartitions(func).collect()
      File "/s1/snagaraj/spark/python/pyspark/rdd.py", line 816, in collect
        sock_info = self.ctx._jvm.PythonRDD.collectAndServe(self._jrdd.rdd())
      File "/s1/snagaraj/spark/python/lib/py4j-0.10.7-src.zip/py4j/java_gateway.py", line 1257, in __call__
      File "/s1/snagaraj/spark/python/lib/py4j-0.10.7-src.zip/py4j/protocol.py", line 328, in get_return_value
2019-07-26 09:35:21,887 WARN scheduler.TaskSetManager: Lost task 56.0 in stage 1.0 (TID 155, localhost, executor driver): TaskKilled (Stage cancelled)
    py4j.protocol.Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.collectAndServe.
    : org.apache.spark.SparkException: Job aborted due to stage failure: Task 53 in stage 1.0 failed 1 times, most recent failure: Lost task 53.0 in stage 1.0 (TID 152, localhost, executor driver): java.io.FileNotFoundException: /tmp/blockmgr-0b509bcc-b1b3-4edb-993f-208ca6107f06/3c/temp_shuffle_a4e5cecd-e130-4671-b0ba-36e98e2dc158 (Too many open files)
        at java.io.FileOutputStream.open0(Native Method)
        at java.io.FileOutputStream.open(FileOutputStream.java:270)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
        at org.apache.spark.storage.DiskBlockObjectWriter.initialize(DiskBlockObjectWriter.scala:103)
        at org.apache.spark.storage.DiskBlockObjectWriter.open(DiskBlockObjectWriter.scala:116)
        at org.apache.spark.storage.DiskBlockObjectWriter.write(DiskBlockObjectWriter.scala:237)
        at org.apache.spark.shuffle.sort.BypassMergeSortShuffleWriter.write(BypassMergeSortShuffleWriter.java:151)
        at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:99)
        at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:55)
        at org.apache.spark.scheduler.Task.run(Task.scala:121)
        at org.apache.spark.executor.Executor$TaskRunner$$anonfun$10.apply(Executor.scala:408)
        at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1360)
        at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:414)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

Затем в трассировке стека драйвера появляется больше сообщений об ошибках о слишком большом количестве открытых файлов и нехватке памяти (ERROR storage.DiskBlockObjectWriter: Uncaught exception while reverting partial writes to file /tmp/blockmgr-0b509bcc-b1b3-4edb-993f-208ca6107f06/0d/temp_shuffle_f170174d-3de0-44be-89a2-5d2b7f6ac3bf).

У него также есть эта ошибка (ERROR sort.BypassMergeSortShuffleWriter: Error while deleting file /tmp/blockmgr-0b509bcc-b1b3-4edb-993f-208ca6107f06/0e/temp_shuffle_9f1b47df-71d1-4941-9da1-2f8bee09d968)


Ответы:


1

Согласно журналу, ошибка Filenotfound возникает из-за сбоя исполнителя, а сбой исполнителя из-за Too many open files. Не могли бы вы увеличить количество открытых файлов с помощью команды ulimit -n 65636

27.07.2019
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..