That did the trick, thanks! Gal From: Ted Yu [mailto:[email protected]] Sent: Tuesday, July 13, 2010 2:39 AM To: [email protected] Subject: Re: Exception "Timed out trying to locate root region" when doing INSERT from Hive to HBase
Do you have the hbase conf directory on the HADOOP_CLASSPATH ? On Mon, Jul 12, 2010 at 7:57 AM, Gal Barnea <[email protected]<mailto:[email protected]>> wrote: Hi everyone, I'm trying to setup HBase/Hive integration using HBase 0.20.3 and the latest HIVE source from svn. I have one machine acting as HBase Master+ZooKeeper with HIVE on it and two RegionServers. I am able to CREATE/DROP the external table in HIVE pointing to HBase, and SELECT from it after inserting data via hbase shell. However when trying to run the following I get the exception below: hive --auxpath $HIVE_SRC/build/hbase-handler/hive_hbase-handler.jar,$HIVE_SRC/hbase-handler/lib/hbase-0.20.3.jar,$HIVE_SRC/hbase-handler/lib/zookeeper-3.2.2.jar -hiveconf hbase.master=Master1:60000 >CREATE TABLE pokes (foo STRING, bar STRING); >LOAD DATA LOCAL INPATH '/root/hive/data/files/kv1.txt' OVERWRITE INTO TABLE >pokes; >CREATE TABLE hbase_hive(key string, value string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val"); >insert overwrite table hbase_hive select * from pokes where foo="97"; This fails miserably, and in Hadoop JobTracker I can see java.lang.RuntimeException: Hive Runtime Error while closing operators at org.apache.hadoop.hive.ql.exec.ExecMapper.close(ExecMapper.java:248) at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:57) at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:358) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:307) at org.apache.hadoop.mapred.Child.main(Child.java:170) Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: org.apache.hadoop.hbase.client.NoServerForRegionException: Timed out trying to locate root region at org.apache.hadoop.hive.ql.io.HiveFileFormatUtils.getHiveRecordWriter(HiveFileFormatUtils.java:231) at org.apache.hadoop.hive.ql.exec.FileSinkOperator.createBucketFiles(FileSinkOperator.java:487) at org.apache.hadoop.hive.ql.exec.FileSinkOperator.closeOp(FileSinkOperator.java:632) at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:540) at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:549) at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:549) at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:549) at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:549) at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:549) at org.apache.hadoop.hive.ql.exec.ExecMapper.close(ExecMapper.java:225) ... 4 more Caused by: org.apache.hadoop.hbase.client.NoServerForRegionException: Timed out trying to locate root region at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRootRegion(HConnectionManager.java:976) at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:625) at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.relocateRegion(HConnectionManager.java:607) at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegionInMeta(HConnectionManager.java:738) at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:634) at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.relocateRegion(HConnectionManager.java:607) at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegionInMeta(HConnectionManager.java:738) at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:638) at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:601) at org.apache.hadoop.hbase.client.HTable.(HTable.java:128) at org.apache.hadoop.hbase.client.HTable.(HTable.java:106) at org.apache.hadoop.hive.hbase.HiveHBaseTableOutputFormat.getHiveRecordWriter(HiveHBaseTableOutputFormat.java:75) at org.apache.hadoop.hive.ql.io.HiveFileFormatUtils.getRecordWriter(HiveFileFormatUtils.java:240) at org.apache.hadoop.hive.ql.io.HiveFileFormatUtils.getHiveRecordWriter(HiveFileFormatUtils.java:228) ... 13 more Can someone please shed some light on this? Thanks in advance Gal
