hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrey Timerbaev <atimerb...@gmx.net>
Subject RegionServer can't recover after a failure
Date Thu, 26 Aug 2010 15:16:34 GMT
Dear experts,

Could you kindly suggest, how to help the RegionServer to complete
initialization in the following situation:

After a failure of one or RegionServers, which is running on a dedicated node in
a HBase/Hadoop cluster (HBase v.0.20.3), the RegionServer can't initialize
available tables. The region server's log contains this exception:

2010-08-26 18:56:49,073 INFO
org.apache.hadoop.hbase.regionserver.transactional.THLogRecoveryManager: Region
log has 9 unfinished transactions. Going to the transaction log to resolve
2010-08-26 18:56:49,091 DEBUG
org.apache.hadoop.hbase.client.HConnectionManager$TableServers: Cache hit for
row <> in tableName .META.: location server 10.2.146.41:60020, location region
name .META.,,1
2010-08-26 18:56:49,178 ERROR
org.apache.hadoop.hbase.regionserver.HRegionServer: Error opening
STAT_STARTUPS_TABLE,,1282738349665
java.lang.RuntimeException: Table not created. Call createTable() first
        at
org.apache.hadoop.hbase.client.transactional.HBaseBackedTransactionLogger.
initTable(HBaseBackedTransactionLogger.java:76)
        at
org.apache.hadoop.hbase.client.transactional.HBaseBackedTransactionLogger.<init>
(HBaseBackedTransactionLogger.java:69)
        at
org.apache.hadoop.hbase.regionserver.transactional.THLogRecoveryManager.
getGlobalTransactionLog(THLogRecoveryManager.java:256)
        at
org.apache.hadoop.hbase.regionserver.transactional.THLogRecoveryManager.
resolvePendingTransaction(THLogRecoveryManager.java:225)
        at
org.apache.hadoop.hbase.regionserver.transactional.THLogRecoveryManager.
getCommitsFromLog(THLogRecoveryManager.java:206)
        at
org.apache.hadoop.hbase.regionserver.transactional.TransactionalRegion.
doReconstructionLog(TransactionalRegion.java:145)
        at org.apache.hadoop.hbase.regionserver.HRegion.initialize
(HRegion.java:326)
        at
org.apache.hadoop.hbase.regionserver.transactional.TransactionalRegionServer.
instantiateRegion(TransactionalRegionServer.java:121)
        at
org.apache.hadoop.hbase.regionserver.HRegionServer.openRegion
(HRegionServer.java:1531)
        at
org.apache.hadoop.hbase.regionserver.HRegionServer$Worker.run
(HRegionServer.java:1451)
        at java.lang.Thread.run(Thread.java:619)

After a look into HBase source code I found out, that the "Table not created.
Call createTable()" message appears, if the HBaseBackedTransactionLogger is
unable to find the __GLOBAL_TRX_LOG__ table. But I've got no idea, where the
table should be, whether it is critical and what should I do in this situation.

Any help is appreciated.

Andrey



Mime
View raw message