You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hive.apache.org by AnilKumar B <ak...@gmail.com> on 2012/09/27 05:44:53 UTC

issue hive with external derby

Hi,

Can anybody help me in following issues.

1) I am using hadoop-1.0.3 with hive-0.9.0
When start hive in embedded derby mode it is working fine. But when I start
in external derby mode I am getting following error. What could be the
issue?
hive> show tables;
FAILED: Error in metadata: javax.jdo.JDOFatalInternalException: Error
creating transactional connection factory
NestedThrowables:
java.lang.reflect.
InvocationTargetException
FAILED: Execution Error, return code 1 from
org.apache.hadoop.hive.ql.exec.DDLTask
hive>


myconfig is:
<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:derby://localhost:1527/myderby1;create=true</value>
  <description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>org.apache.derby.jdbc.ClientDriver</value>
  <description>Driver class name for a JDBC metastore</description>
</property>

2) I tried hadoop-0.22.0 with hive-0.8.0. It is always throwing shims
issue....... Can you please tell me how to overcome this?

Thanks,
B Anil Kumar.

Re: issue hive with external derby

Posted by AnilKumar B <ak...@gmail.com>.
Yes, after adding these jars it's working.

Thanks Bertrand & Bejoy.

On Thu, Sep 27, 2012 at 1:05 PM, Bejoy KS <be...@yahoo.com> wrote:

> Hi Anil Kumar
>
> The error comes basically due to lack of availability of connector jars in
> class path. Please ensure you have derbyclient.jar and derbytools.jar  in
> ..../hive/lib . In the wort case you need to add there jars in
> ..../hadoop/lib as well.
>
> A snippet from hive wiki
>
> Copy Derby Jar Files
> Now since there is a new client you MUST make sure hive has these in the
> lib directory or in the classpath. The same would be true if you used MySQL
> or some other DB.
>
> cp /opt/hadoop/db-derby-10.4.1.3-bin/lib/derbyclient.jar /opt/hadoop/hive/lib
> cp /opt/hadoop/db-derby-10.4.1.3-bin/lib/derbytools.jar /opt/hadoop/hive/lib
>
> If you receive the error "javax.jdo.JDOFatalInternalException: Error
> creating transactional connection factory" where the stack trace originates
> "org.datanucleus.exceptions.ClassNotResolvedException: Class
> 'org.apache.derby.jdbc.ClientDriver' was not found in the CLASSPATH. Please
> check your specification and your CLASSPATH", you may benefit from putting
> the derby jar files directly in the hadoop lib directory:
>
> cp /opt/hadoop/db-derby-10.4.1.3-bin/lib/derbyclient.jar /opt/hadoop/hadoop-0.17.2.1/lib
> cp /opt/hadoop/db-derby-10.4.1.3-bin/lib/derbytools.jar /opt/hadoop/hadoop-0.17.2.1/lib
>
>
>
> Regards,
> Bejoy KS
>
>   ------------------------------
> *From:* Bertrand Dechoux <de...@gmail.com>
> *To:* user@hive.apache.org
> *Sent:* Thursday, September 27, 2012 10:57 AM
> *Subject:* Re: issue hive with external derby
>
> Hi,
>
> For 1), did you follow the wiki?
> https://cwiki.apache.org/confluence/display/Hive/HiveDerbyServerMode
>
> Maybe you didn't provide the right jars.
> Did you check that you could connect yourself to the database?
>
> For 2), I don't know which version is supported for Hadoop.
> https://cwiki.apache.org/confluence/display/Hive/GettingStarted
> "Most of our testing has been on Hadoop 0.20 - so we advise running it
> against this version even though it may compile/work against other versions
> "
>
> See http://www.cloudera.com/blog/2012/01/an-update-on-apache-hadoop-1-0/for a short overview of versions.
>
> Regards
>
> Bertrand
>
>
> On Thu, Sep 27, 2012 at 5:44 AM, AnilKumar B <ak...@gmail.com>wrote:
>
> Hi,
>
> Can anybody help me in following issues.
>
> 1) I am using hadoop-1.0.3 with hive-0.9.0
> When start hive in embedded derby mode it is working fine. But when I
> start in external derby mode I am getting following error. What could be
> the issue?
> hive> show tables;
> FAILED: Error in metadata: javax.jdo.JDOFatalInternalException: Error
> creating transactional connection factory
> NestedThrowables:
> java.lang.reflect.
> InvocationTargetException
> FAILED: Execution Error, return code 1 from
> org.apache.hadoop.hive.ql.exec.DDLTask
> hive>
>
>
> myconfig is:
> <property>
>   <name>javax.jdo.option.ConnectionURL</name>
>   <value>jdbc:derby://localhost:1527/myderby1;create=true</value>
>   <description>JDBC connect string for a JDBC metastore</description>
> </property>
> <property>
>   <name>javax.jdo.option.ConnectionDriverName</name>
>   <value>org.apache.derby.jdbc.ClientDriver</value>
>   <description>Driver class name for a JDBC metastore</description>
> </property>
>
> 2) I tried hadoop-0.22.0 with hive-0.8.0. It is always throwing shims
> issue....... Can you please tell me how to overcome this?
>
> Thanks,
> B Anil Kumar.
>
>
>
>
> --
> Bertrand Dechoux
>
>
>

Re: issue hive with external derby

Posted by Bejoy KS <be...@yahoo.com>.
Hi Anil Kumar

The error comes basically due to lack of availability of connector jars in class path. Please ensure you have derbyclient.jar and derbytools.jar  in ..../hive/lib . In the wort case you need to add there jars in ..../hadoop/lib as well.

A snippet from hive wiki

Copy Derby Jar Files
Now since there is a new client you MUST make sure hive has these in the lib directory or in the classpath. The same would be true if you used MySQL or some other DB.
cp /opt/hadoop/db-derby-10.4.1.3-bin/lib/derbyclient.jar /opt/hadoop/hive/lib
cp /opt/hadoop/db-derby-10.4.1.3-bin/lib/derbytools.jar /opt/hadoop/hive/lib 
If you receive the error "javax.jdo.JDOFatalInternalException: Error creating transactional connection factory" where the stack trace originates "org.datanucleus.exceptions.ClassNotResolvedException: Class 'org.apache.derby.jdbc.ClientDriver' was not found in the CLASSPATH. Please check your specification and your CLASSPATH", you may benefit from putting the derby jar files directly in the hadoop lib directory:
cp /opt/hadoop/db-derby-10.4.1.3-bin/lib/derbyclient.jar /opt/hadoop/hadoop-0.17.2.1/lib
cp /opt/hadoop/db-derby-10.4.1.3-bin/lib/derbytools.jar /opt/hadoop/hadoop-0.17.2.1/lib 

 
Regards,
Bejoy KS


________________________________
 From: Bertrand Dechoux <de...@gmail.com>
To: user@hive.apache.org 
Sent: Thursday, September 27, 2012 10:57 AM
Subject: Re: issue hive with external derby
 

Hi,

For 1), did you follow the wiki?
https://cwiki.apache.org/confluence/display/Hive/HiveDerbyServerMode

Maybe you didn't provide the right jars.
Did you check that you could connect yourself to the database?

For 2), I don't know which version is supported for Hadoop.
https://cwiki.apache.org/confluence/display/Hive/GettingStarted
"Most of our testing has been on Hadoop 0.20 - so we advise running it against this version even though it may compile/work against other versions"

See http://www.cloudera.com/blog/2012/01/an-update-on-apache-hadoop-1-0/ for a short overview of versions.

Regards

Bertrand



On Thu, Sep 27, 2012 at 5:44 AM, AnilKumar B <ak...@gmail.com> wrote:

Hi,
>
>Can anybody help me in following issues.
>
>1) I am using hadoop-1.0.3 with hive-0.9.0
>When start hive in 
embedded derby mode it is working fine. But when I start in external 
derby mode I am getting following error. What could be the issue?
>hive> show tables;
>FAILED: Error in metadata: javax.jdo.JDOFatalInternalException: Error creating transactional connection factory
>NestedThrowables:
>java.lang.reflect.
>InvocationTargetException
>FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask
>hive> 
>
>
>myconfig is:
><property>
>  <name>javax.jdo.option.ConnectionURL</name>
>  <value>jdbc:derby://localhost:1527/myderby1;create=true</value>
>  <description>JDBC connect string for a JDBC metastore</description>
></property>
><property>
>  <name>javax.jdo.option.ConnectionDriverName</name>
>  <value>org.apache.derby.jdbc.ClientDriver</value>
>  <description>Driver class name for a JDBC metastore</description>
></property>
>
>2) I tried hadoop-0.22.0 with 
hive-0.8.0. It is always throwing shims issue....... Can you please tell
 me how to overcome this?
>
>Thanks,
>B Anil Kumar.
>


-- 
Bertrand Dechoux

Re: issue hive with external derby

Posted by Bertrand Dechoux <de...@gmail.com>.
Hi,

For 1), did you follow the wiki?
https://cwiki.apache.org/confluence/display/Hive/HiveDerbyServerMode

Maybe you didn't provide the right jars.
Did you check that you could connect yourself to the database?

For 2), I don't know which version is supported for Hadoop.
https://cwiki.apache.org/confluence/display/Hive/GettingStarted
"Most of our testing has been on Hadoop 0.20 - so we advise running it
against this version even though it may compile/work against other versions"

See http://www.cloudera.com/blog/2012/01/an-update-on-apache-hadoop-1-0/for
a short overview of versions.

Regards

Bertrand


On Thu, Sep 27, 2012 at 5:44 AM, AnilKumar B <ak...@gmail.com> wrote:

> Hi,
>
> Can anybody help me in following issues.
>
> 1) I am using hadoop-1.0.3 with hive-0.9.0
> When start hive in embedded derby mode it is working fine. But when I
> start in external derby mode I am getting following error. What could be
> the issue?
> hive> show tables;
> FAILED: Error in metadata: javax.jdo.JDOFatalInternalException: Error
> creating transactional connection factory
> NestedThrowables:
> java.lang.reflect.
> InvocationTargetException
> FAILED: Execution Error, return code 1 from
> org.apache.hadoop.hive.ql.exec.DDLTask
> hive>
>
>
> myconfig is:
> <property>
>   <name>javax.jdo.option.ConnectionURL</name>
>   <value>jdbc:derby://localhost:1527/myderby1;create=true</value>
>   <description>JDBC connect string for a JDBC metastore</description>
> </property>
> <property>
>   <name>javax.jdo.option.ConnectionDriverName</name>
>   <value>org.apache.derby.jdbc.ClientDriver</value>
>   <description>Driver class name for a JDBC metastore</description>
> </property>
>
> 2) I tried hadoop-0.22.0 with hive-0.8.0. It is always throwing shims
> issue....... Can you please tell me how to overcome this?
>
> Thanks,
> B Anil Kumar.
>



-- 
Bertrand Dechoux