【问题标题】:sparkR hdfs error - Server IPC version 9 cannot communicate with client version 4sparkR hdfs 错误 - 服务器 IPC 版本 9 无法与客户端版本 4 通信
【发布时间】:2015-03-19 01:12:02
【问题描述】:

我已经在 Ubuntu 中安装了 sparkR 以支持 Hadoop 版本 2.4.0,按照说明 here

我可以看到带有 Hadoop 2.4.0 和 YARN 支持的 Spark 程序集 JAR 是在以下位置创建的 ./assembly/target/scala-2.10/spark-assembly-1.0.0-SNAPSHOT-hadoop2.4.0.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

不知道我在哪里做错了。感谢任何帮助。

【问题讨论】:

    标签: r hadoop apache-spark hdfs


    【解决方案1】:

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

    【讨论】:

    • 我已经用 hadoop 版本 2.4.0 重建了 sparkR,证明我在 ~./assembly/target/scala-2.10/spark-assembly-1.0 看到了 hadoop YARN 支持 jar 文件。 0-SNAPSHOT-hadoop2.4.0.jar~。即使在那之后,我也收到了有问题的错误。如果我的理解有误,请纠正我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-17
    • 2014-07-01
    • 1970-01-01
    • 2013-09-29
    • 1970-01-01
    • 2012-06-22
    • 1970-01-01
    相关资源
    最近更新 更多