Troubleshooting: The HBase "getMaster" EOFException

One HBase exception that is difficult to troubleshoot is the EOFException caused by the getMaster() call inside the HBase jar file. A sample of this exception is shown here:

java.io.IOException: Call to <IP_ADDRESS> failed on local exception: java.io.EOFException
at org.apache.hadoop.hbase.ipc.HBaseClient.wrapException(HBaseClient.java:802)
at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:771)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:139)
at $Proxy8.getProtocolVersion(Unknown Source)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine.getProxy(WritableRpcEngine.java:171)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:286)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:263)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:315)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getMaster(HConnectionManager.java:351)


At first, it may seem as if this represents a networking issue, where the route to the HBase Master server is inaccessible. If your settings are correct, this may in fact represent a version problem.

In order to determine the version of HBase on your cluster, perform the following steps:



$ hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.90.6-cdh3u6, r, Wed Mar 20 12:02:52 EST 2013


Compare this version (0.90.6-cdh3u6 in the example) with the version used for your HBase dependency. If there is a mismatch, correct it and then re-run.

No comments:

Post a Comment