Flink 错误 - org.apache.hadoop.ipc.RemoteException:服务器 IPC 版本



我正在尝试使用 HDFS 中的文件运行 flink 作业。我创建了一个数据集,如下所示 -

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

我正在使用 flink 的最新版本 - 0.9.0-里程碑-1-hadoop1(我也尝试过 0.9.0-里程碑-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 安装?

你试过 Flink 的 Hadoop-2 版本吗?查看下载页面。有一个名为flink-0.9.0-milestone-1-bin-hadoop2.tgz的版本应该与Hadoop 2一起使用。

最新更新