【问题标题】:Zeppelin R interpreter fails to do anythingZeppelin R 解释器无法执行任何操作
【发布时间】:2025-12-02 12:05:02
【问题描述】:

我正在运行 Zeppelin 0.6.1,它的 sparkR 解释器无法执行任何操作。它在单元格执行状态上显示错误,但没有说明是什么错误。我将其二进制包与所有解释器一起使用 zeppelin-0.6.1-bin-all.tgz。尝试了很多东西,但不知道发生了什么。有人在 Zeppelin 中成功运行过 R interpereter 吗?

在日志中显示此错误

…… …… …… > 图书馆(SparkR) 附件包:‘SparkR’ 以下对象被“package:stats”屏蔽: cov, filter, lag, na.omit, predict, sd, var 以下对象被“package:base”屏蔽: 列名,列名 > > SparkR:::connectBackend("localhost", 端口) 描述类模式文本 “-> localhost:54905” “sockconn” “wb” “二进制” 打开可以读可以写 “打开”“是”“是” > > # R/pkg/R/sparkR.R 需要 scStartTime > assign(".scStartTime", as.integer(Sys.time()), envir = SparkR:::.sparkREnv) > > # getZeppelinR > .zeppelinR = SparkR:::callJStatic("org.apache.zeppelin.spark.ZeppelinR", "getZeppelinR", hashCode) 在 org.apache.zeppelin.spark.ZeppelinR.waitForRScriptInitialized(ZeppelinR.java:291) 在 org.apache.zeppelin.spark.ZeppelinR.request(ZeppelinR.java:231) 在 org.apache.zeppelin.spark.ZeppelinR.eval(ZeppelinR.java:179) 在 org.apache.zeppelin.spark.ZeppelinR.open(ZeppelinR.java:168) 在 org.apache.zeppelin.spark.SparkRInterpreter.open(SparkRInterpreter.java:79) 在 org.apache.zeppelin.interpreter.LazyOpenInterpreter.open(LazyOpenInterpreter.java:69) 在 org.apache.zeppelin.interpreter.LazyOpenInterpreter.getProgress(LazyOpenInterpreter.java:110) 在 org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer.getProgress(RemoteInterpreterServer.java:404) 在 org.apache.zeppelin.interpreter.thrift.RemoteInterpreterService$Processor$getProgress.getResult(RemoteInterpreterService.java:1509) 在 org.apache.zeppelin.interpreter.thrift.RemoteInterpreterService$Processor$getProgress.getResult(RemoteInterpreterService.java:1494) 在 org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) 在 org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) 在 org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:285) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java:745)

【问题讨论】:

    标签: r apache-spark sparkr apache-zeppelin


    【解决方案1】:

    我发现:我的 SPARK_HOME 变量设置不正确。设置它解决了这个问题。在另一个设置中,我虔诚地遵循了此处提到的步骤,并且效果很好。 Zeppelin R interpreter

    SPARK_HOME 和 R 安装是两个主要的事情,如果正确完成应该可以确保在 Zeppelin 上流畅的 SparkR 体验。

    【讨论】:

    • 当使用二进制 zeppelin-0.6.X-bin-all.tgz 包(包括所有解释器)时,SPARK_HOME 变量究竟应该指向哪里?我试过ZEPPELIN_HOME/interpreter/spark,但这似乎不起作用。还是 R 解释器需要非 Zeppelin 嵌入式 spark 安装?
    • 应该为哪个用户设置SPARK_HOME env 变量(或者我们应该为所有用户设置它,例如/etc/profile)?