У меня есть кластер для обработки определенных данных. Я попытался уменьшить количество ядер, изменив тип экземпляра с i3.4xlarge на i3.8xlarge. Все настройки Spark остаются такими же:
spark-submit --deploy-mode cluster --num-executors 60 --master yarn-cluster --driver-memory 35G --executor-memory 29G --executor-cores 5
Для начального набора данных, который был обработан 20 узлами, кластер i3.4xlarge теперь не работает на 10xi3.8xlarge со следующей ошибкой:
ip-172-31-27-86.us-west-2.compute.internal, executor 20): java.io.IOException: No space left on device
at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
at sun.nio.ch.FileDispatcherImpl.write(FileDispatcherImpl.java:60)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
at sun.nio.ch.IOUtil.write(IOUtil.java:65)
at sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:211)
Какая разница для искры? Если есть некоторый общий кусок памяти, который не увеличивается соответственно с числом исполнителей?