Java “线程中的异常”;“主要”;org.apache.hadoop.ipc.RemoteException:服务器ipc版本9无法与客户端版本4通信。如何解决这个问题?
我正在使用hadoop 2.7.0和java oracle jdk1.7.079以及NetBeans IDE 8.0.2。 当我尝试使用Java文件与Hadoop通信时,出现以下错误。是否涉及任何依赖性问题?或者如何解决此错误 我看到过一些关于这个问题的帖子,但没有一个能帮助我清楚地表达答案。所以,请帮帮我。谢谢Java “线程中的异常”;“主要”;org.apache.hadoop.ipc.RemoteException:服务器ipc版本9无法与客户端版本4通信。如何解决这个问题?,java,hadoop,netbeans,mapreduce,Java,Hadoop,Netbeans,Mapreduce,我正在使用hadoop 2.7.0和java oracle jdk1.7.079以及NetBeans IDE 8.0.2。 当我尝试使用Java文件与Hadoop通信时,出现以下错误。是否涉及任何依赖性问题?或者如何解决此错误 我看到过一些关于这个问题的帖子,但没有一个能帮助我清楚地表达答案。所以,请帮帮我。谢谢 Exception in thread "main" org.apache.hadoop.ipc.RemoteException: Server IPC version 9 c
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:1066)
at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:225)
at com.sun.proxy.$Proxy1.getProtocolVersion(Unknown Source)
at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:396)
at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:379)
at org.apache.hadoop.hdfs.DFSClient.createRPCNamenode(DFSClient.java:118)
at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:222)
at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:187)
at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:89)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1328)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:65)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1346)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:244)
at org.apache.hadoop.fs.Path.getFileSystem(Path.java:187)
at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.setInputPaths(FileInputFormat.java:352)
at pir.PIR.run(PIR.java:317)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at pir.PIR.main(PIR.java:256)
线程“main”org.apache.hadoop.ipc.RemoteException中的异常:服务器ipc版本9无法与客户端版本4通信
位于org.apache.hadoop.ipc.Client.call(Client.java:1066)
位于org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:225)
位于com.sun.proxy.$Proxy1.getProtocolVersion(未知源)
位于org.apache.hadoop.ipc.RPC.getProxy(RPC.java:396)
位于org.apache.hadoop.ipc.RPC.getProxy(RPC.java:379)
位于org.apache.hadoop.hdfs.DFSClient.createRPCNamenode(DFSClient.java:118)
位于org.apache.hadoop.hdfs.DFSClient.(DFSClient.java:222)
位于org.apache.hadoop.hdfs.DFSClient.(DFSClient.java:187)
位于org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:89)
位于org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1328)
位于org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:65)
位于org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1346)
位于org.apache.hadoop.fs.FileSystem.get(FileSystem.java:244)
位于org.apache.hadoop.fs.Path.getFileSystem(Path.java:187)
位于org.apache.hadoop.mapreduce.lib.input.FileInputFormat.setInputPaths(FileInputFormat.java:352)
在pir.pir.run(pir.java:317)
位于org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
在pir.pir.main(pir.java:256)
如果您使用的是maven,请检查POM文件中包含的Hadoop客户端版本。它可能比集群上当前运行的hadoop版本旧(应该是2.7.0)
org.apache.hadoop
hadoop客户端
2.7.0
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.7.0</version>
</dependency>