【问题标题】:Flink error - org.apache.hadoop.ipc.RemoteException: Server IPC version 9 cannot communicate with client version 4Flink 错误 - org.apache.hadoop.ipc.RemoteException:服务器 IPC 版本 9 无法与客户端版本 4 通信
【发布时间】:2015-06-15 14:24:03
【问题描述】:

我正在尝试使用来自 HDFS 的文件运行 flink 作业。我创建了如下数据集 -

DataSource<Tuple2<LongWritable, Text>> visits = env.readHadoopFile(new TextInputFormat(), LongWritable.class,Text.class, Config.pathToVisits());

我正在使用 flink 的最新版本 - 0.9.0-milestone-1-hadoop1 (我也尝试过 0.9.0-milestone-1)

而我的 Hadoop 版本是 2.6.0

但是,当我尝试执行作业时出现以下异常。找了类似的问题,和客户端和hdfs版本不兼容有关。

Exception in thread "main" org.apache.hadoop.ipc.RemoteException: Server IPC version 9 cannot communicate with client version 4
at org.apache.hadoop.ipc.Client.call(Client.java:1113)
at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:229)
at com.sun.proxy.$Proxy5.getProtocolVersion(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

您能否告诉我应该在我的 pom 中进行哪些更改,以便它指向正确的 Hadoop/HDFS 版本?或其他地方的变化? 或者我需要降级hadoop安装?

【问题讨论】:

    标签: maven hadoop apache-flink


    【解决方案1】:

    您是否尝试过 Flink 的 Hadoop-2 构建?看看downloads page。有一个名为 flink-0.9.0-milestone-1-bin-hadoop2.tgz 的构建应该适用于 Hadoop 2。

    【讨论】:

    • 感谢 Fabian,将 hadoop2 main dist-jar 添加到项目后,它工作正常。有没有其他方法可以让我从 pom 引用这个(Hadoop 2)构建版本? (我们是否在 0.9 的 maven 存储库中构建了 hadoop2?)我尝试了 0.9.0-milestone-1-hadoop1 和 0.9.0-milestone-1 但徒劳无功。
    • 你有什么样的设置(本地、集群、YARN)以及如何提交你的 Flink 程序?
    • 它主要是本地的,对于一些实验我使用的是集群。我直接从 IDE 运行 flink 程序。
    猜你喜欢
    • 1970-01-01
    • 2015-03-19
    • 2021-08-17
    • 2013-09-29
    • 2014-07-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-22
    • 1970-01-01
    相关资源
    最近更新 更多