sparkR hdfs错误 - 服务器IPC版本9无法与客户端版本4通信

时间:2015-01-20 17:29:31

标签: r hadoop apache-spark hdfs

我已按照说明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

不确定我在哪里做错了。感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您提供的链接没有任何SparkR安装步骤。根据sparkR自述文件,SparkR默认链接到Hadoop 1.0.4。要将SparkR与其他Hadoop版本一起使用,您需要使用与[Spark链接到]相同的版本重建SparkR     SPARK_HADOOP_VERSION=2.4.0 ./install-dev.sh