как изменить значение spark.r.backendConnectionTimeout в RStudio? - PullRequest
0 голосов
/ 31 мая 2019

Я использую RStudio для подключения к файлу HDFS через SparkR. Когда я оставляю анализ Spark работающим на ночь, на следующий день я получаю сообщение об ошибке "R session aborted" Из документации Spark на SparkR (https://spark.apache.org/docs/latest/configuration.html), значение по умолчанию для spark.r.backendConnectionTimeout установлено на 6000 с. Я хотел бы изменить это значение на что-то большое, чтобы у моего соединения не истекло время ожидания после завершения анализа.

Я пробовал следующее:

sparkR.session(master = "local[*]", sparkConfig = list(spark.r.backendConnectionTimeout = 10))
sparkR.session(master = "local[*]", spark.r.backendConnectionTimeout = 10)

Я получаю одинаковый вывод для обеих команд:

Spark package found in SPARK_HOME: C:\Spark\spark-2.3.2-bin-hadoop2.7
Launching java with spark-submit command C:\Spark\spark-2.3.2-bin-hadoop2.7/bin/spark-submit2.cmd   sparkr-shell C:\Users\XYZ\AppData\Local\Temp\3\RtmpiEaE5q\backend_port696c18316c61 
Java ref type org.apache.spark.sql.SparkSession id 1

Похоже, что параметр был передан неправильно. Кроме того, я не уверен, где передать этот параметр. Любая помощь будет оценена.

Похожий пост есть, но он включает в себя Zeppelin ( как изменить значение spark.r.backendConnectionTimeout? ).

Спасибо.

1 Ответ

0 голосов
/ 17 июня 2019

Я нашел решение: это изменить файл spark-defaults.conf и добавить следующую строку: spark.r.backendConnectionTimeout = 6000000

(или в любое другое время)

ВАЖНОЕ примечание - перезапустите службы hadoop и yarn и попробуйте нормально подключиться к Spark с SparkR:

library(SparkR, lib.loc = c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib")))
sparkR.session(master = "local")

Вы можете проверить, имели ли место настройки или нет на http://localhost:4040/environment/

Надеюсь, это пригодится другим людям.

...