如何在RStudio中更改spark.r.backendConnectionTimeout值?

时间:2019-05-31 09:03:44

标签: rstudio sparkr connection-timeout

我正在使用RStudio使用SparkR连接到我的HDFS文件。当我让Spark分析在一夜之间运行时,第二天我收到“ R会话中止”错误。根据Spark上Spark(https://spark.apache.org/docs/latest/configuration.html)的文档,spark.r.backendConnectionTimeout的默认值设置为6000s。我想将此值更改为较大,以使分析完成后我的连接不会超时。

我尝试了以下方法:

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

似乎参数未正确传递。另外,我不确定在哪里传递该参数。 任何帮助将不胜感激。

也有类似的帖子,但是涉及齐柏林飞艇(how to change spark.r.backendConnectionTimeout value?)。

谢谢。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案:它是修改spark-defaults.conf文件并添加以下行: spark.r.backendConnectionTimeout = 6000000

(或您想要的任何时间限制)

重要说明-重新启动hadoop和yarn服务,并尝试使用SparkR正常连接到Spark:

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

您可以在http://localhost:4040/environment/上查看设置是否已完成

我希望这对其他人有用。