[
https://issues.apache.org/jira/browse/HCATALOG-621?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13748973#comment-13748973
]
Nick Dimiduk commented on HCATALOG-621:
---------------------------------------
I'm not sure how this fixes anything for the error listed above. The find
command in the script we merged is broken, at least on linux. Maybe it worked
with BSD find and we both tested on Macs?
>From the patch we committed:
{noformat}
if [ -d ${HBASE_HOME} ] ; then
for jar in $(find $HBASE_HOME -name *.jar -not -name thrift\*.jar); do
HBASE_CLASSPATH=$HBASE_CLASSPATH:${jar}
done
export HADOOP_CLASSPATH="${HADOOP_CLASSPATH}:${HBASE_CLASSPATH}"
fi
{noformat}
The find command syntax is wrong -- it returns no jars ever.
{noformat}
$ find /usr/lib/hbase -name *.jar
$ find /usr/lib/hbase -name *.jar -not -name thrift\*.jar
$
{noformat}
What we need is more like:
{noformat}
$ find /usr/lib/hbase -name '*.jar'
... // prints lots of jars
$ find /usr/lib/hbase -name '*.jar' | grep thrift
/usr/lib/hbase/lib/libthrift-0.9.0.jar
$ find /usr/lib/hbase -name '*.jar' -not -name '*thrift*' | grep thrift
$
{noformat}
> bin/hcat should include hbase jar and dependencies in the classpath
> -------------------------------------------------------------------
>
> Key: HCATALOG-621
> URL: https://issues.apache.org/jira/browse/HCATALOG-621
> Project: HCatalog
> Issue Type: Bug
> Components: hbase, scripts
> Affects Versions: 0.5
> Reporter: Nick Dimiduk
> Assignee: Nick Dimiduk
> Fix For: hive-0.11
>
> Attachments:
> 0001-HCATALOG-621-Include-HBase-jars-and-dependencies-whe.patch
>
>
> Attempting to use the HBaseHCatStorageHandler results in
> {noformat}
> 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:523)
> at
> org.apache.hcatalog.cli.SemanticAnalysis.CreateTableHook.postAnalyze(CreateTableHook.java:198)
> 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:909)
> 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:202)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
> ... 18 more
> {noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira