With the checkin of HCAT-252 the assertion is that hcat/hbase integration is
working again. But when I try to test it I get a failure.
My HADOOP_CLASSPATH includes:
/home/hortonal/src/hcat/top/hdp1/branch-0.4/src/test/e2e/hcatalog/../../../..//hive/external/build/dist/lib/hive-hbase-handler-0.8.1.jar:/homes/hortonal/grid/mupp/hbase-0.92.0/conf/:/homes/hortonal//grid/mupp/hbase-0.92.0/hbase-0.92.0.jar,/homes/hortonal/git/hive/build/dist/lib/hive-hbase-handler-0.8.1.jar,/homes/hortonal/git/hive/build/dist/lib/zookeeper-3.4.2.jar,/home/hortonal/src/hcat/top/hdp1/branch-0.4/src/test/e2e/hcatalog/../../../..//storage-drivers/hbase/build/hbase-storage-driver/hbase-storage-driver-0.1.0.jar
So it has the configuration directory for my hbase-site.xml, plus the jars for
HBase, the Hive HBase handler, and the HCat HBase storage driver.
But when I run an hcat command like:
hcat -e "create table hadoop_hbase_1(key string, gpa string) STORED BY
'org.apache.hcatalog.hbase.HBaseHCatStorageHandler' TBLPROPERTIES
('hbase.columns.mapping'=':key,info:gpa');"
I get the following error:
Exception in thread "main" java.lang.NoClassDefFoundError:
org/apache/hadoop/hbase/MasterNotRunningException
at java.lang.Class.forName0(Native Method) at
java.lang.Class.forName(Class.java:247) at
org.apache.hcatalog.common.HCatUtil.getStorageHandler(HCatUtil.java:522) at
org.apache.hcatalog.cli.SemanticAnalysis.CreateTableHook.postAnalyze(CreateTableHook.java:208)
at
org.apache.hcatalog.cli.SemanticAnalysis.HCatSemanticAnalyzer.postAnalyze(HCatSemanticAnalyzer.java:244)
at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:434) at
org.apache.hadoop.hive.ql.Driver.compile(Driver.java:336) at
org.apache.hadoop.hive.ql.Driver.run(Driver.java:891) at
org.apache.hcatalog.cli.HCatDriver.run(HCatDriver.java:42) at
org.apache.hcatalog.cli.HCatCli.processCmd(HCatCli.java:250) at
org.apache.hcatalog.cli.HCatCli.processLine(HCatCli.java:204)
at org.apache.hcatalog.cli.HCatCli.processFile(HCatCli.java:223)
at org.apache.hcatalog.cli.HCatCli.main(HCatCli.java:168)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
Caused by: java.lang.ClassNotFoundException:
org.apache.hadoop.hbase.MasterNotRunningException
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
... 18 more
Any thoughts on what I'm doing wrong?
Alan.