Hi,

I had same exception when my master node died.
Then I found this code:

private HRegionLocation locateRegion(byte[] tableName, byte[] row, boolean 
useCache) throws IOException {
if (closed) throw new IOException(toString() + " closed");
.......

and
public void abort(String msg, Throwable t)
{
if ((t instanceof KeeperException.SessionExpiredException)) {
try {
LOG.info("This client just lost it's session with ZooKeeper, trying to 
reconnect.");

resetZooKeeperTrackers();
LOG.info("Reconnected successfully. This disconnect could have been caused by a network partition or a long-running GC pause, either way it's recommended that you verify your environment.");

return;
} catch (ZooKeeperConnectionException e) {
LOG.error("Could not reconnect to ZooKeeper after session expiration, 
aborting");

t = e;
}
}
if (t != null) LOG.fatal(msg, t); else
LOG.fatal(msg);
aborted = true;
closed = true;
}

So, it happens when client looses connection to ZooKeeper and cant reconnect,
Or, simply, somebody calls HConnection.close()

08.01.2013 12:41, Antony Neu пишет:
Can anyone tell me when this exception is thrown?

Regards,
Antony

Am 06.01.2013 12:35, schrieb [email protected]:
Hi there,

I'm having problems accessing HBase from within a MapReduce programme on my cluster. To locate the problem I've written a very simple test programme. It runs fine on the master node, however on the other nodes I get the same error that was causing problems in the MapReduce programme:

java.io.IOException: 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@2937d090
 closed
at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:794)
at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:782)
at org.apache.hadoop.hbase.client.HTable.finishSetup(HTable.java:251)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:215)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:173)
at TestHBase.main(TestHBase.java:29)

This occurs after these lines in the programme:

Configuration conf = HBaseConfiguration.create();
conf.set("hbase.master", args[0]);
HTable table = new HTable(conf, "Table1");


Note: I'm note accessing HBase through the InputFormat. I simply would like to read out a few values in the setup-method of my mappers. hbase shell seems to be working on all nodes just fine and I can ping and telnet the master node on port 60000 from the other nodes.

What could be the problem? Am i missing something? I've installed HBase with 
cloudera manager CDH4.

Kind regards,
Antony



Reply via email to