我已按照说明here在Ubuntu中安装sparkR以支持Hadoop版本2.4.0。
我可以看到,在以下位置./assembly/target/scala-2.10/spark-assembly-1.0.0-SNAPSHOT-hadoop2.4.0.jar
创建了带有Hadoop 2.4.0和YARN支持的Spark的程序集JAR。
以下R代码从本地读取文件工作正常:
library(SparkR)
sc <- sparkR.init("local[2]", "SparkR", "/usr/local/spark",
list(spark.executor.memory="1g"))
lines <- textFile(sc, "//home//manohar//text.txt")
但是,尝试从hdfs读取文件时出错。
library(SparkR)
sc <- sparkR.init()
lines <- textFile(sc, "hdfs://localhost:9000//in//text.txt")
错误:
Error in .jcall(getJRDD(rdd), "Ljava/util/List;", "collect") :
org.apache.hadoop.ipc.RemoteException: Server IPC version 9 cannot communicate with client version 4
不确定我在哪里做错了。感谢任何帮助。
答案 0 :(得分:0)
您提供的链接没有任何SparkR安装步骤。根据sparkR自述文件,SparkR默认链接到Hadoop 1.0.4。要将SparkR与其他Hadoop版本一起使用,您需要使用与[Spark链接到]相同的版本重建SparkR
SPARK_HADOOP_VERSION=2.4.0 ./install-dev.sh