Hadoop 服务器IPC版本7无法与客户端版本4通信
我正在尝试提交一个Hadoop Map Reduce作业,从一个CDH3u4集群到在CDH4.3上运行的集群。(将Hadoop 服务器IPC版本7无法与客户端版本4通信,hadoop,mapreduce,ipc,Hadoop,Mapreduce,Ipc,我正在尝试提交一个Hadoop Map Reduce作业,从一个CDH3u4集群到在CDH4.3上运行的集群。(将fs.default.name和mapred.job.tracker配置参数设置为指向CDH4.3集群)。下面是堆栈跟踪 1) 我们可以将hadoop作业提交给在不同版本上工作的远程集群吗? 2) 有没有解决办法 hadoop jar Standalone.jar Exception in thread "main" org.apache.hadoop.ipc.RemoteExcep
fs.default.name
和mapred.job.tracker
配置参数设置为指向CDH4.3集群)。下面是堆栈跟踪
1) 我们可以将hadoop作业提交给在不同版本上工作的远程集群吗?
2) 有没有解决办法
hadoop jar Standalone.jar
Exception in thread "main" org.apache.hadoop.ipc.RemoteException: Server IPC version 7 cannot communicate with client version 4
at org.apache.hadoop.ipc.Client.call(Client.java:1107)
at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:226)
at $Proxy0.getProtocolVersion(Unknown Source)
at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:398)
at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:384)
at org.apache.hadoop.hdfs.DFSClient.createRPCNamenode(DFSClient.java:129)
at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:255)
at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:217)
at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:89)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1563)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:67)
at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:1597)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1579)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:228)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:111)
at com.poc.standalone.HDFSRemoteAccess.main(HDFSRemoteAccess.java:43)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.util.RunJar.main(RunJar.java:197)
线程“main”org.apache.hadoop.ipc.RemoteException中的异常:服务器ipc版本7无法与客户端版本4通信
位于org.apache.hadoop.ipc.Client.call(Client.java:1107)
位于org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:226)
位于$Proxy0.getProtocolVersion(未知源)
位于org.apache.hadoop.ipc.RPC.getProxy(RPC.java:398)
位于org.apache.hadoop.ipc.RPC.getProxy(RPC.java:384)
位于org.apache.hadoop.hdfs.DFSClient.createRPCNamenode(DFSClient.java:129)
位于org.apache.hadoop.hdfs.DFSClient.(DFSClient.java:255)
位于org.apache.hadoop.hdfs.DFSClient.(DFSClient.java:217)
位于org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:89)
位于org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1563)
位于org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:67)
位于org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:1597)
位于org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1579)
位于org.apache.hadoop.fs.FileSystem.get(FileSystem.java:228)
位于org.apache.hadoop.fs.FileSystem.get(FileSystem.java:111)
位于com.poc.standalone.HDFSRemoteAccess.main(HDFSRemoteAccess.java:43)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中
位于java.lang.reflect.Method.invoke(Method.java:597)
位于org.apache.hadoop.util.RunJar.main(RunJar.java:197)
您需要设置
HADOOP\u PREFIX
环境变量以指向已安装HADOOP 2.X.X版本的目录
e、 g
我在尝试连接到hdfs时遇到了这个异常。我使用的是cdh4.6版本 我通过添加cloudera mvn依赖项解决了这个问题 首先,您应该检查您的依赖关系 另一点是,您应该尝试使用fs.deafultFS配置参数,而不是(或旁边的)fs.default.name参数。因为在cdh4X中不推荐使用fs.default.name 1) 您应该拥有两个版本的依赖项,并且可以在它们之间切换。
2) 保留不同版本的依赖项
export HADOOP_PREFIX=pathtohadoop-2.2.0