
本文共 4020 字,大约阅读时间需要 13 分钟。
CentOS下Zeppelin中R的配置教程
前言
使用中的步驟安裝完Zeppelin後,就可以直接在上面進行Spark編程。
但是如果想要在上面運行R的程序,則還需要另外配置。 本篇參考了這份官網上的教學。步驟
在CentOS下安裝R
要使用R interpreter必須先在環境中安裝好R。
yum install -y R R-devel libcurl-devel openssl-devel
安裝完成後可以用:
R -e "print(1+1)"
來驗證安裝是否成功,以下是預期輸出:
R version 3.5.1 (2018-07-02) – “Feather Spray”
Copyright © 2018 The R Foundation for Statistical Computing Platform: x86_64-redhat-linux-gnu (64-bit)R ist freie Software und kommt OHNE JEGLICHE GARANTIE.
Sie sind eingeladen, es unter bestimmten Bedingungen weiter zu verbreiten. Tippen Sie ‘license()’ or ‘licence()’ für Details dazu.R ist ein Gemeinschaftsprojekt mit vielen Beitragenden.
Tippen Sie ‘contributors()’ für mehr Information und ‘citation()’, um zu erfahren, wie R oder R packages in Publikationen zitiert werden können.Tippen Sie ‘demo()’ für einige Demos, ‘help()’ für on-line Hilfe, oder
‘help.start()’ für eine HTML Browserschnittstelle zur Hilfe. Tippen Sie ‘q()’, um R zu verlassen.print(1+1)
[1] 2
重啟Spark interpreter
可以參考這篇教學來重啟Spark interpreter。
問題排除
sparkr is not responding
如果還沒在環境中安裝好R,就直接運行筆記本中有%R
的paragraph,則會出現以下錯誤:
org.apache.zeppelin.interpreter.InterpreterException: sparkr is not responding
at org.apache.zeppelin.spark.ZeppelinR.waitForRScriptInitialized(ZeppelinR.java:294) at org.apache.zeppelin.spark.ZeppelinR.request(ZeppelinR.java:236) at org.apache.zeppelin.spark.ZeppelinR.eval(ZeppelinR.java:185) at org.apache.zeppelin.spark.ZeppelinR.open(ZeppelinR.java:174) at org.apache.zeppelin.spark.SparkRInterpreter.open(SparkRInterpreter.java:106) at org.apache.zeppelin.interpreter.LazyOpenInterpreter.open(LazyOpenInterpreter.java:69) at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:617) at org.apache.zeppelin.scheduler.Job.run(Job.java:188) at org.apache.zeppelin.scheduler.FIFOScheduler$1.run(FIFOScheduler.java:140) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)
Error in library(knitr) : there is no package called ‘knitr’
如果R安裝完成,重啟spark interpreter運行%R
的paragraph,可能會碰到以下錯誤:
java.lang.RuntimeException: Error in library(“knitr”): es gibt kein Paket namens ‘knitr’
at org.apache.zeppelin.spark.ZeppelinR.request(ZeppelinR.java:259)
at org.apache.zeppelin.spark.ZeppelinR.eval(ZeppelinR.java:185) at org.apache.zeppelin.spark.SparkRInterpreter.open(SparkRInterpreter.java:112) at org.apache.zeppelin.interpreter.LazyOpenInterpreter.open(LazyOpenInterpreter.java:69) at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:617) at org.apache.zeppelin.scheduler.Job.run(Job.java:188) at org.apache.zeppelin.scheduler.FIFOScheduler$1.run(FIFOScheduler.java:140) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)
解法一:安裝knitr包
這時候可以在命令行輸入以下指令來安裝knitr包:
R -e "install.packages('knitr', repos = 'http://cran.us.r-project.org')"
安裝完成後再重啟spark interpreter,便可成功運行該paragraph。
解法二:禁用knitr
參考連結
发表评论
最新留言
关于作者
