You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-user@hadoop.apache.org by Johannes Schaback <jo...@visual-meta.com> on 2013/07/29 14:52:59 UTC

Unknown method getClusterMetrics [...] on ClientRMProtocol$ClientRMProtocolService$BlockingInterface protocol.

Dear all,

I am trying to run the submit the distributed shell client on a Windows
machine to submit it to a yarn resource manager on a Linux box. I am stuck
with the following client error message ...

Unknown method getClusterMetrics called on interface
org.apache.hadoop.yarn.proto.ClientRMProtocol$ClientRMProtocolService$BlockingInterface
protocol.

... which I get right after the

13/07/29 14:22:55 DEBUG ipc.RPC: Call: getClusterMetrics 115

... call. The distributed shell example works as expected when either
executed on the Linux box or on the Windows box in single mode setup.

A bit more context:
- hadoop version 0.23.9
- both machines run in the same network
- both machines use the same JDK 6
- user names differ between Windows client and Linux resource manager

The client log reads:

13/07/29 14:22:54 INFO service.AbstractService:
Service:org.apache.hadoop.yarn.client.YarnClientImpl is started.
13/07/29 14:22:54 DEBUG ipc.Client: The ping interval is 60000 ms.
13/07/29 14:22:54 DEBUG ipc.Client: Use SIMPLE authentication for protocol
BlockingInterface
13/07/29 14:22:54 DEBUG ipc.Client: Connecting to /192.168.3.152:8033
13/07/29 14:22:55 DEBUG ipc.Client: IPC Client (766488133) connection to /
192.168.3.152:8033 from jSchaback sending #0
13/07/29 14:22:55 DEBUG ipc.Client: IPC Client (766488133) connection to /
192.168.3.152:8033 from jSchaback: starting, having connections 1
13/07/29 14:22:55 DEBUG ipc.Client: IPC Client (766488133) connection to /
192.168.3.152:8033 from jSchaback got value #0
13/07/29 14:22:55 DEBUG ipc.RPC: Call: getClusterMetrics 115
13/07/29 14:22:55 FATAL visualmeta.MyClient: Error running CLient
RemoteTrace:
java.io.IOException: Unknown method getClusterMetrics called on interface
org.apache.hadoop.yarn.proto.ClientRMProtocol$ClientRMProtocolService$BlockingInterface
protocol.
at
org.apache.hadoop.yarn.ipc.ProtoOverHadoopRpcEngine$Server.call(ProtoOverHadoopRpcEngine.java:345)

The remote resource manager log reads:

2013-07-29 14:40:45,204 WARN org.apache.hadoop.ipc.Server: Unknown method
getClusterMetrics called on interface
org.apache.hadoop.yarn.proto.ClientRMProtocol$ClientRMProtocolService$BlockingInterface
protocol.
2013-07-29 14:40:45,273 INFO org.apache.hadoop.ipc.Server: IPC Server
listener on 8033: readAndProcess threw exception java.io.IOException:
Connection reset by peer from client 192.168.3.246. Count of bytes read: 0
java.io.IOException: Connection reset by peer
        at sun.nio.ch.FileDispatcher.read0(Native Method)
        at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:21)
        at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:198)
        at sun.nio.ch.IOUtil.read(IOUtil.java:171)
        at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:245)
        at org.apache.hadoop.ipc.Server.channelRead(Server.java:1981)
        at org.apache.hadoop.ipc.Server.access$2600(Server.java:100)
        at
org.apache.hadoop.ipc.Server$Connection.readAndProcess(Server.java:1227)
        at org.apache.hadoop.ipc.Server$Listener.doRead(Server.java:651)
        at
org.apache.hadoop.ipc.Server$Listener$Reader.doRunLoop(Server.java:450)
        at org.apache.hadoop.ipc.Server$Listener$Reader.run(Server.java:425)


What exatly leads to this problem? Is it a known issue that RPC interfaces
are inconsistent over different OS? After all its all Java, so I dont
really expect that to be an issue, but I cant think of any other reason.

Any help is very much appreciated.

Thanks and regards,

Johannes