hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From yz5od2 <woods5242-outdo...@yahoo.com>
Subject Re: newbie help: error in dropping/recreating tables
Date Mon, 19 Oct 2009 15:41:39 GMT
Thanks for the reply.

I changed the log level to DEBUG and here is the output from the  
zookeeper log from after the 2nd run (which fails) (I have not  
modified the way I create the tables yet, will try that next).

The hbase log is kind of big so I didn't want to send that, but there  
were no visible ERRORs reported in it. Only in this zookeeper log did  
I see errors .

2009-10-19 09:31:11,694 INFO  
org.apache.zookeeper.server.NIOServerCnxn: Connected to / 
fe80:0:0:0:0:0:0:1%1:59703 lastZxid 0
2009-10-19 09:31:11,694 INFO  
org.apache.zookeeper.server.NIOServerCnxn: Creating new session  
0x1246d672ea00004
2009-10-19 09:31:11,696 INFO  
org.apache.zookeeper.server.NIOServerCnxn: Finished init of  
0x1246d672ea00004 valid:true
2009-10-19 09:31:12,133 WARN  
org.apache.zookeeper.server.PrepRequestProcessor: Got exception when  
processing sessionid:0x1246d672ea00004 type:create cxid:0x2 zxid: 
0xfffffffffffffffe txntype:unknown n/a
org.apache.zookeeper.KeeperException$NodeExistsException:  
KeeperErrorCode = NodeExists
         at  
org 
.apache 
.zookeeper 
.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:245)
         at  
org 
.apache 
.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java: 
114)
2009-10-19 09:31:12,323 WARN  
org.apache.zookeeper.server.PrepRequestProcessor: Got exception when  
processing sessionid:0x1246d672ea00004 type:create cxid:0x5 zxid: 
0xfffffffffffffffe txntype:unknown n/a
org.apache.zookeeper.KeeperException$NodeExistsException:  
KeeperErrorCode = NodeExists
         at  
org 
.apache 
.zookeeper 
.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:245)
         at  
org 
.apache 
.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java: 
114)
2009-10-19 09:33:18,243 WARN  
org.apache.zookeeper.server.NIOServerCnxn: Exception causing close of  
session 0x1246d672ea00002 due to java.io.IOException: Read error
2009-10-19 09:33:18,245 INFO  
org.apache.zookeeper.server.NIOServerCnxn: closing session: 
0x1246d672ea00002 NIOServerCnxn:  
java.nio.channels.SocketChannel[connected local=/127.0.0.1:2181  
remote=/127.0.0.1:59663]
2009-10-19 09:33:47,468 WARN  
org.apache.zookeeper.server.NIOServerCnxn: Exception causing close of  
session 0x1246d672ea00004 due to java.io.IOException: Read error
2009-10-19 09:33:47,469 INFO  
org.apache.zookeeper.server.NIOServerCnxn: closing session: 
0x1246d672ea00004 NIOServerCnxn:  
java.nio.channels.SocketChannel[connected local=/ 
fe80:0:0:0:0:0:0:1%1:2181 remote=/fe80:0:0:0:0:0:0:1%1:59703]
2009-10-19 09:33:56,001 INFO  
org.apache.zookeeper.server.SessionTrackerImpl: Expiring session  
0x1246d672ea00002
2009-10-19 09:33:56,001 INFO  
org.apache.zookeeper.server.ZooKeeperServer: Expiring session  
0x1246d672ea00002
2009-10-19 09:33:56,001 INFO  
org.apache.zookeeper.server.PrepRequestProcessor: Processed session  
termination request for id: 0x1246d672ea00002
2009-10-19 09:34:20,000 INFO  
org.apache.zookeeper.server.SessionTrackerImpl: Expiring session  
0x1246d672ea00004
2009-10-19 09:34:20,000 INFO  
org.apache.zookeeper.server.ZooKeeperServer: Expiring session  
0x1246d672ea00004
2009-10-19 09:34:20,000 INFO  
org.apache.zookeeper.server.PrepRequestProcessor: Processed session  
termination request for id: 0x1246d672ea00004



On Oct 19, 2009, at 9:11 AM, Tatsuya Kawano wrote:

> Hi,
>
> Could you please set the logging level to DEBUG and check the hbase
> master log and region server log if they have some error or warning
> messages? By default, those logs should be under $HBASE_HOME/logs/ and
> you can set DEBUG logging by un-commenting the following line in
> $HBASE_HOME/conf/log4j.properties
>
> log4j.logger.org.apache.hadoop.hbase=DEBUG
>
>
> Also, when you create a table, you can skip disabling and enabling
> steps by adding HColumnDescriptor ***before*** creating the table. So
> why don't you try this?
>
> ================================
> HTableDescriptor tableDesc = new HTableDescriptor(tableName);
>
> String[] columns = this.getColumns(clazz);
>
> for (String column : columns) {
>    tableDesc.addFamily(tableName, new HColumnDescriptor(column));
> }
>
> admin.createTable(tableDesc);
> ================================
>
> Thanks,
>
> -- 
> Tatsuya Kawano (Mr.)
> Tokyo, Japan
>
>
>
> On Mon, Oct 19, 2009 at 9:53 AM, yz5od2 <woods5242- 
> outdoors@yahoo.com> wrote:
>> And another followup.
>>
>> One of the table's has around 30 columns (MyTable1). If I do not  
>> create any
>> of the columns in this table on the 2nd run of the test, the table is
>> created, disabled, enabled, then dropped successfully.
>>
>> Are there any restrictions in column names or anything related to  
>> inserting
>> data into that table, then dropping it that I would need to be  
>> aware of?
>>
>> On Oct 18, 2009, at 11:48 AM, yz5od2 wrote:
>>
>>> Hi,
>>> I am running the latest version of Hbase in standalone mode.
>>>
>>> I have a Junit test which connects to the local Hbase process,  
>>> creates 2
>>> tables, inserts some records, reads those records, then deletes  
>>> the records.
>>> When the test is done, it disables both tables and then deletes  
>>> the tables.
>>> All of these actions complete successfully. When I bring up the  
>>> Hbase shell,
>>> I verify that the tables do not exist. (code below)
>>>
>>> -----------------
>>> 1st run
>>> -----------------
>>> Here is the console output when it creates the new tables before  
>>> inserting
>>> data
>>>
>>> [18/10/09 11:35:57:057 MDT]  INFO client.HBaseAdmin: Disabled  
>>> MyTable1
>>> [18/10/09 11:35:57:057 MDT]  INFO client.HBaseAdmin: Disabled  
>>> MyTable1
>>> [18/10/09 11:35:58:058 MDT]  INFO client.HBaseAdmin: Enabled table
>>> MyTable1
>>> [18/10/09 11:35:58:058 MDT]  INFO client.HBaseAdmin: Enabled table
>>> MyTable1
>>> [18/10/09 11:36:10:010 MDT]  INFO client.HBaseAdmin: Disabled  
>>> MyTable2
>>> [18/10/09 11:36:10:010 MDT]  INFO client.HBaseAdmin: Disabled  
>>> MyTable2
>>> [18/10/09 11:36:10:010 MDT]  INFO client.HBaseAdmin: Enabled table
>>> MyTable2
>>> [18/10/09 11:36:10:010 MDT]  INFO client.HBaseAdmin: Enabled table
>>> MyTable2
>>>
>>> DATA IS PUT, GET and DELETEd here.....
>>>
>>> [18/10/09 11:37:27:027 MDT]  INFO client.HBaseAdmin: Disabled  
>>> MyTable1
>>> [18/10/09 11:37:27:027 MDT]  INFO client.HBaseAdmin: Disabled  
>>> MyTable1
>>> [18/10/09 11:37:27:027 MDT]  INFO client.HBaseAdmin: Deleted  
>>> MyTable1
>>> [18/10/09 11:37:27:027 MDT]  INFO client.HBaseAdmin: Deleted  
>>> MyTable1
>>> [18/10/09 11:37:33:033 MDT]  INFO client.HBaseAdmin: Disabled  
>>> MyTable2
>>> [18/10/09 11:37:33:033 MDT]  INFO client.HBaseAdmin: Disabled  
>>> MyTable2
>>> [18/10/09 11:37:33:033 MDT]  INFO client.HBaseAdmin: Deleted  
>>> MyTable2
>>> [18/10/09 11:37:33:033 MDT]  INFO client.HBaseAdmin: Deleted  
>>> MyTable2
>>>
>>> After the process completes, I verify in Hbase shell that the  
>>> tables in
>>> fact do not exist.
>>>
>>>
>>> -------------------
>>> 2nd run
>>> -------------------
>>>
>>> However when I run the same test the 2nd time, it fails on trying to
>>> enable the first table it re-creates, with the following error.
>>>
>>> [18/10/09 11:39:42:042 MDT]  INFO zookeeper.ClientCnxn: Server  
>>> connection
>>> successful
>>> [18/10/09 11:39:55:055 MDT]  INFO client.HBaseAdmin: Disabled  
>>> MyTable1
>>> [18/10/09 11:39:55:055 MDT]  INFO client.HBaseAdmin: Disabled  
>>> MyTable1
>>>
>>> At this point it seems to sit there, and fails with the following  
>>> error.
>>> When I go to Hbase shell, I see that the MyTable1 does in fact  
>>> exist.
>>> However it looks like my code fails on enabling it. What might be  
>>> the
>>> problem?
>>>
>>>
>>> Caused by: java.io.IOException: Unable to enable table MyTable1
>>>        at
>>> org 
>>> .apache.hadoop.hbase.client.HBaseAdmin.enableTable(HBaseAdmin.java: 
>>> 356)
>>>        at
>>> org 
>>> .apache.hadoop.hbase.client.HBaseAdmin.enableTable(HBaseAdmin.java: 
>>> 315)
>>>
>>>
>>> I really don't follow why this error is occurring. here is my code  
>>> that
>>> creates the tables and deletes them:
>>>
>>>
>>> this.config = new HBaseConfiguration();
>>> try {
>>>        admin = new HBaseAdmin(config);
>>> } catch(MasterNotRunningException e) {
>>>        throw new Exception("Could not setup HBaseAdmin as no  
>>> master is
>>> running...");
>>> }
>>>
>>> // FOR EACH of my tables (MyTable1 and MyTable2)
>>> ...
>>>
>>> String tableName = clazz.getSimpleName();
>>>
>>> if (!admin.tableExists(tableName)) {
>>>        admin.createTable(new HTableDescriptor(tableName));
>>>        admin.disableTable(tableName);
>>>
>>>        String[] columns = this.getColumns(clazz);
>>>
>>>        for (String column : columns) {
>>>                admin.addColumn(tableName, new  
>>> HColumnDescriptor(column));
>>>        }
>>>
>>> }
>>>
>>> if (!admin.isTableEnabled(tableName)) {
>>>        admin.enableTable(tableName);
>>> }
>>>
>>> .....
>>>
>>>
>>> // MY CODE TO DELETE THE TABLES (for each ... MyTable1 etc..)
>>> if (admin.tableExists(tableName)) {
>>>        admin.disableTable(tableName);
>>>        admin.deleteTable(tableName);
>>> }
>>>
>>>
>>
>>
>>


Mime
View raw message