3

我正在尝试使用 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安装?

4

1 回答 1

3

您是否尝试过 Flink 的 Hadoop-2 构建?看看下载页面。有一个名为flink-0.9.0-milestone-1-bin-hadoop2.tgz应该与 Hadoop 2 一起使用的构建。

于 2015-06-15T14:49:03.077 回答