2017-01-26 12 views
0

RStudio에서 SparkR을 시험하고 있지만 작동하지 않습니다. 다른 질문에 대해 제안 된 솔루션을 시도했지만 실행되지 않는 이유를 여전히 파악할 수 없습니다.RStudio에서 SparkR을 실행하면 "Rscript 프로그램을 실행할 수 없습니다"가 반환됩니다.

if (nchar(Sys.getenv("SPARK_HOME")) < 1) { 
    Sys.setenv(SPARK_HOME = "c://spark") 
} 
library(SparkR) 
library(SparkR, lib.loc = c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib"))) 

sc<-sparkR.session(master="spark://192.168.56.1:7077",appName = "R Spark", sparkConfig = list(spark.cassandra.connection.host="localhost"), sparkPackages = "datastax:spark-cassandra-connector:1.6.0-s_2.11") 
df<- as.DataFrame(faithful) 
showDF(df) 

내가

Error in invokeJava(isStatic = FALSE, objId$id, methodName, ...) : 
    org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 1.0 failed 4 times, most recent failure: Lost task 0.3 in stage 1.0 (TID 4, 192.168.56.1): java.io.IOException: Cannot run program "Rscript": 
CreateProcess error=2, Das System kann die angegebene Datei nicht finden 
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048) 
    at org.apache.spark.api.r.RRunner$.createRProcess(RRunner.scala:348) 
    at org.apache.spark.api.r.RRunner$.createRWorker(RRunner.scala:386) 
    at org.apache.spark.api.r.RRunner.compute(RRunner.scala:69) 
    at org.apache.spark.api.r.BaseRRDD.compute(RRDD.scala:50) 
    at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:319) 
    at org.apache.spark.rdd.RDD.iterator(RDD.scala:283) 
    at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:38) 
    at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:319) 
    at org.apache.spark.rdd.RDD.iterator(RDD.scala:283) 
    at org.apache.spark.rdd.MapPartitionsRDD. 

내가 한 근로자와 독립 실행 형 클러스터에서 실행하기 위해 노력하고있다 얻을 메시지를 다음과 같이 내가 실행하고 코드입니다

스파크 버전 2.0.2

RStudio : 1.0.136

R : 3.3.2

답변

0

2 노드 클러스터를 사용하는 RStudio에서 비슷한 문제가있었습니다.

문제는 R 드라이버 프로그램에 R이 설치되어 있지만 작업자 노드가 실행 경로에 Rscript가 없거나 최소한 있어야한다는 것입니다. 결과적으로 마스터가 아닌 작업자에게 R 코드를 실행하려고하면 Rscript를 찾지 못합니다.

해결 방법 : 작업자 노드에 R 및 Rscript를 설치하십시오.

도움이 되었기를 바랍니다.