Я получаю java.io.IOException: No space left on device
, который возникает после выполнения простого запроса в sparklyr
. Я использую обе последние версии Spark
(2.1.1) и Sparklyr
df_new <-spark_read_parquet(sc, "/mypath/parquet_*", name = "df_new", memory = FALSE)
myquery <- df_new %>% group_by(text) %>% summarize(mycount = n()) %>%
arrange(desc(mycount)) %>% head(10)
#this FAILS
get_result <- collect(myquery)
я поставил оба
spark.local.dir <- "/mypath/"
spark.worker.dir <- "/mypath/"
используя обычный
config <- spark_config()
config$`spark.executor.memory` <- "100GB"
config$`spark.executor.cores` <- "3"
config$`spark.local.dir` <- "/mypath/"
config$`spark.worker.dir` <- "mypath/"
config$`spark.cores.max`<- "2000"
config$`spark.default.parallelism`<- "4"
config$`spark.total-executor-cores`<- "80"
config$`sparklyr.shell.driver-memory` <- "100G"
config$`sparklyr.shell.executor-memory` <- "100G"
config$`spark.yarn.executor.memoryOverhead` <- "100G"
config$`sparklyr.shell.num-executors` <- "90"
config$`spark.memory.fraction` <- "0.2"
Sys.setenv(SPARK_HOME="mysparkpath")
sc <- spark_connect(master = "spark://mynode", config = config)
где mypath
имеет более 5 ТБ дискового пространства (я вижу эти параметры на вкладке Environment
). Я попробовал аналогичную команду в Pyspark
, но она не удалась (та же ошибка).
Глядя на вкладку Stages
в Spark
, я вижу, что ошибка возникает, когда shuffle write
составляет около 60 GB
. (ввод около 200GB
). Это озадачивает, учитывая, что у меня много свободного места. Я уже рассмотрел другие решения SO...
Задание кластера запускается с помощью magpie https://github.com/LLNL/magpie/blob/master/submission-scripts/script-sbatch-srun/magpie.sbatch-srun-spark
Каждый раз, когда я запускаю задание Spark, я вижу каталог с именем spark-abcd-random_numbers
в моей папке /mypath
. но размер файлов там очень маленький (отсутствуют 60гб в случайном порядке пишут)
- имеется около 40 паркетных массивов. каждый
700K
(исходныеcsv
файлов были 100 ГБ). По существу они содержат строки. - кластер состоит из 10 узлов, каждый из которых имеет 120 ГБ ОЗУ и 20 ядер.
В чем проблема? Спасибо!!
slurm
. Я могу увидеть свой главный узел, набравsqueue -u myname
. ты это имеешь ввиду? - person ℕʘʘḆḽḘ   schedule 10.07.2017spark-submit
, которую вы ввели, но я вижу, что вы используете какой-то другой метод для запуска вашего приложения. поэтому возникает вопрос: как вам удалось установить свойстваspark.local.dir
иspark.worker.dir
? у вас есть доступ к файлам конфигурации искры кластера? - person user1314742   schedule 10.07.2017sparklyr
(см. обновленный вопрос). На вкладке Spark UI Environment я вижу эти параметры. Я так понимаю их учитывают? - person ℕʘʘḆḽḘ   schedule 10.07.2017-u
у меня не работает. Это что правильная команда?. вы имеете в виду запускdf
иdu
? - person ℕʘʘḆḽḘ   schedule 12.07.2017df -H
Сначала я увидел/tmp/
заполнение до 80%, а затем никаких действий на этом диске или на других видимых дисках не было, нажавdf -H
Тем временем запись в случайном порядке увеличивалась с 10 ГБ до почти 80 ГБ, затем задание рухнуло из-за отсутствия свободного места на диске. . После сбоя ни один диск не заполнен на 100%. как это может быть? - person ℕʘʘḆḽḘ   schedule 12.07.2017