I remember this error, it basically means your Hive is too old. There's no
way to make a generic Hive client, a line has to be drawn somewhere. Same,
as e.g. a car running on premium gas won't work with regular.

You need at least Hive 1.2.

Andrew

On Fri, Oct 7, 2016, 10:20 AM Nathamuni, Ramanujam <[email protected]>
wrote:

> I do have similar client protocol issue? how can we make this  Hive*
> processor very generic where users can point to the LIB directory where it
> can have JAR files for Hadoop Cluster?
>
>
>
> SAS Hadoop Access connector is using below approach from their Enterprise
> Guide.
>
>
>
> -        Download the JAR files from hadoop cluster
>
> -        Down the config files from hadoop cluster
>
>
>
> Export two configuration variables
>
>
>
> Export HDOOOP_LIB_PATH=/opt/cdh/5.7.1/lib/             (which will have
> all the jar files)
>
> Export HADOOP_CONFIG_PATH=/opt/cdh/5.7.1/conf/
>
>
>
> Can we have similar options on all the hadoop related processors? Which
> will make things to work with all different version of hadoop.
>
>
>
> Thanks,
>
> Ram
>
> *From:* Dan Giannone [mailto:[email protected]]
> *Sent:* Friday, October 07, 2016 9:49 AM
>
>
> *To:* [email protected]
> *Subject:* RE: SelectHiveQL Error
>
>
>
> It turns out the port needed to be changed for hive server2 as well. That
> seemed to fix the below issue. However, now I get :
>
>
>
> > org.apache.thrift.TApplicationException: Required field
> 'client_protocol' is unset!
>
>
>
> Which according to this
> <http://stackoverflow.com/questions/30931599/error-jdbc-hiveconnection-error-opening-session-hive>
> indicates my hive and hive-jdbc versions are mismatching. “Hive –-version”
> gives me 1.1.0. If I were to download the hive-jdbc 1.1.0 jar, is there a
> way I could specify that it us that?
>
>
>
>
>
> -Dan
>
>
>
> *From:* Dan Giannone [mailto:[email protected] <[email protected]>]
> *Sent:* Friday, October 07, 2016 9:25 AM
> *To:* [email protected]
> *Subject:* RE: SelectHiveQL Error
>
>
>
> Hi Matt,
>
>
>
> When I try to change to jdbc:hive2://, I get a different error set of
> errors.
>
>
>
> >Error getting Hive connection
>
> >org.apache.commons.dbcp.SQLNestedException: Cannot create
> PoolableConnectionFactory (Could not open client transport with JDBC Uri:
> jdbc:hive2://…)
>
> >Caused by: java.sql.SQLException: Could not open client transport with
> JDBC Uri: jdbc:hive2://…
>
> >Caused by: org.apache.thrift.transport.TTransportException: null
>
>
>
> I am thinking you are right in that it is an issue with my connection URL.
> Is there some command I can run that will generate this for me? Or a
> specific place I should look? The only mention of a url in hive-site.xml
> that I see is:
>
>
>
> <property>
>
>     <name>hive.metastore.uris</name>
>
>     <value>thrift://server:port</value>
>
> </property>
>
>
>
>
>
> -Dan
>
>
>
> *From:* Matt Burgess [mailto:[email protected] <[email protected]>]
> *Sent:* Thursday, October 06, 2016 5:17 PM
> *To:* [email protected]
> *Subject:* Re: SelectHiveQL Error
>
>
>
> Andrew is correct. Although the HiveServer
>
> 1 driver is included with the NAR, the HiveConnectionPool is hardcoded to
> use the HiveServer 2 driver (since the former doesn't allow for
> simultaneous connections and we are using a connection pool :) the scheme
> should be jdbc:hive2:// not hive.
>
>
>
> If that was a typo and you are using the correct scheme, could you provide
> your configuration details/properties?
>
>
>
> Thanks,
>
> Matt
>
>
>
>
> On Oct 6, 2016, at 4:07 PM, Andrew Grande <[email protected]> wrote:
>
> Are you sure the jdbc url is correct? Iirc, it was jdbc:hive2://
>
> Andrew
>
>
>
> On Thu, Oct 6, 2016, 3:46 PM Dan Giannone <[email protected]> wrote:
>
> Hi Matt,
>
> Here is the whole error trace, starting from when I turned on the
> SelectHiveQL processor:
>
> INFO [StandardProcessScheduler Thread-2]
> o.a.n.c.s.TimerDrivenSchedulingAgent Scheduled
> SelectHiveQL[id=0157102a-94da-11ec-0f7e-17fd3119aa00] to run with 1 threads
> 2016-10-06 15:37:06,554 INFO [Timer-Driven Process Thread-7]
> o.a.nifi.dbcp.hive.HiveConnectionPool
> HiveConnectionPool[id=0157102d-94da-11ec-4d91-5a8952e888bd] Simple
> Authentication
> 2016-10-06 15:37:06,556 ERROR [Timer-Driven Process Thread-7]
> o.a.nifi.dbcp.hive.HiveConnectionPool
> HiveConnectionPool[id=0157102d-94da-11ec-4d91-5a8952e888bd] Error getting
> Hive connection
> 2016-10-06 15:37:06,557 ERROR [Timer-Driven Process Thread-7]
> o.a.nifi.dbcp.hive.HiveConnectionPool
> org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of
> class 'org.apache.hive.jdbc.HiveDriver' for connect URL
> 'jdbc:hive://server:port/default'
>         at
> org.apache.commons.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1452)
> ~[commons-dbcp-1.4.jar:1.4]
>         at
> org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371)
> ~[commons-dbcp-1.4.jar:1.4]
>         at
> org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
> ~[commons-dbcp-1.4.jar:1.4]
>         at
> org.apache.nifi.dbcp.hive.HiveConnectionPool.getConnection(HiveConnectionPool.java:269)
> ~[nifi-hive-processors-1.0.0.jar:1.0.0]
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> ~[na:1.8.0_45]
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> ~[na:1.8.0_45]
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> ~[na:1.8.0_45]
>         at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_45]
>         at
> org.apache.nifi.controller.service.StandardControllerServiceProvider$1.invoke(StandardControllerServiceProvider.java:177)
> [nifi-framework-core-1.0.0.jar:1.0.0]
>         at com.sun.proxy.$Proxy81.getConnection(Unknown Source) [na:na]
>         at
> org.apache.nifi.processors.hive.SelectHiveQL.onTrigger(SelectHiveQL.java:158)
> [nifi-hive-processors-1.0.0.jar:1.0.0]
>         at
> org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
> [nifi-api-1.0.0.jar:1.0.0]
>         at
> org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1064)
> [nifi-framework-core-1.0.0.jar:1.0.0]
>         at
> org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:136)
> [nifi-framework-core-1.0.0.jar:1.0.0]
>         at
> org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:47)
> [nifi-framework-core-1.0.0.jar:1.0.0]
>         at
> org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:132)
> [nifi-framework-core-1.0.0.jar:1.0.0]
>         at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> [na:1.8.0_45]
>         at
> java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
> [na:1.8.0_45]
>         at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
> [na:1.8.0_45]
>         at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
> [na:1.8.0_45]
>         at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> [na:1.8.0_45]
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> [na:1.8.0_45]
>         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
> Caused by: java.sql.SQLException: No suitable driver
>         at java.sql.DriverManager.getDriver(DriverManager.java:315)
> ~[na:1.8.0_45]
>         at
> org.apache.commons.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1437)
> ~[commons-dbcp-1.4.jar:1.4]
>         ... 22 common frames omitted
> 2016-10-06 15:37:06,557 ERROR [Timer-Driven Process Thread-7]
> o.a.nifi.processors.hive.SelectHiveQL
> SelectHiveQL[id=0157102a-94da-11ec-0f7e-17fd3119aa00] Unable to execute
> HiveQL select query select * from dan_test due to
> org.apache.nifi.processor.exception.ProcessException:
> org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of
> class 'org.apache.hive.jdbc.HiveDriver' for connect URL
> 'jdbc:hive://server:port/default'. No FlowFile to route to failure:
> org.apache.nifi.processor.exception.ProcessException:
> org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of
> class 'org.apache.hive.jdbc.HiveDriver' for connect URL
> 'jdbc:hive://server:port/default'
> 2016-10-06 15:37:06,558 ERROR [Timer-Driven Process Thread-7]
> o.a.nifi.processors.hive.SelectHiveQL
> org.apache.nifi.processor.exception.ProcessException:
> org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of
> class 'org.apache.hive.jdbc.HiveDriver' for connect URL
> 'jdbc:hive://server:port/default'
>         at
> org.apache.nifi.dbcp.hive.HiveConnectionPool.getConnection(HiveConnectionPool.java:273)
> ~[nifi-hive-processors-1.0.0.jar:1.0.0]
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> ~[na:1.8.0_45]
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> ~[na:1.8.0_45]
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> ~[na:1.8.0_45]
>         at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_45]
>         at
> org.apache.nifi.controller.service.StandardControllerServiceProvider$1.invoke(StandardControllerServiceProvider.java:177)
> ~[na:na]
>         at com.sun.proxy.$Proxy81.getConnection(Unknown Source) ~[na:na]
>         at
> org.apache.nifi.processors.hive.SelectHiveQL.onTrigger(SelectHiveQL.java:158)
> ~[nifi-hive-processors-1.0.0.jar:1.0.0]
>         at
> org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
> [nifi-api-1.0.0.jar:1.0.0]
>         at
> org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1064)
> [nifi-framework-core-1.0.0.jar:1.0.0]
>         at
> org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:136)
> [nifi-framework-core-1.0.0.jar:1.0.0]
>         at
> org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:47)
> [nifi-framework-core-1.0.0.jar:1.0.0]
>         at
> org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:132)
> [nifi-framework-core-1.0.0.jar:1.0.0]
>         at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> [na:1.8.0_45]
>         at
> java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
> [na:1.8.0_45]
>         at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
> [na:1.8.0_45]
>         at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
> [na:1.8.0_45]
>         at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> [na:1.8.0_45]
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> [na:1.8.0_45]
>         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
> Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC
> driver of class 'org.apache.hive.jdbc.HiveDriver' for connect URL
> 'jdbc:hive://server:port/default'
>         at
> org.apache.commons.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1452)
> ~[commons-dbcp-1.4.jar:1.4]
>         at
> org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371)
> ~[commons-dbcp-1.4.jar:1.4]
>         at
> org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
> ~[commons-dbcp-1.4.jar:1.4]
>         at
> org.apache.nifi.dbcp.hive.HiveConnectionPool.getConnection(HiveConnectionPool.java:269)
> ~[nifi-hive-processors-1.0.0.jar:1.0.0]
>         ... 19 common frames omitted
> Caused by: java.sql.SQLException: No suitable driver
>         at java.sql.DriverManager.getDriver(DriverManager.java:315)
> ~[na:1.8.0_45]
>         at
> org.apache.commons.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1437)
> ~[commons-dbcp-1.4.jar:1.4]
>         ... 22 common frames omitted
>
>
> Sorry about the formatting. Any ideas? Is there some way I can edit the
> Hive Nar file?
>
> -Dan
>
>
>
>
>
>
>
> -----Original Message-----
> From: Matt Burgess [mailto:[email protected]]
> Sent: Thursday, October 06, 2016 3:24 PM
> To: [email protected]
> Subject: Re: SelectHiveQL Error
>
> Dan,
>
> That is a catch-all error returned when (in case probably) something is
> misconfigured. Are there more error lines below that in the log?
> The driver class and all its dependencies are present in the Hive NAR, so
> there is likely an underlying error that, while being propagated up,
> returns the generic (and misleading) error message you describe.
>
> Regards,
> Matt
>
> On Thu, Oct 6, 2016 at 3:14 PM, Dan Giannone <[email protected]> wrote:
> > Hello,
> >
> >
> >
> > I am trying to use a SelectHiveQL processor using the following
> > controller
> > configuration:
> >
> >
> >
> > Database Connection URL - jdbc:hive://server:port/default
> >
> > Hive Configuration Resources - /path/to/hive/hive-site.xml
> >
> >
> >
> > When my processor goes to run the simple query, I get the following
> > error (copying the important parts to save space):
> >
> >
> >
> >>Unable to execute HiveQL select query select * from table
> >
> >>Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create
> >>JDBC  driver of class 'org.apache.hive.jdbc.HiveDriver' for connect
> >>URL ‘<see
> >> above>’
> >
> >>Caused by: java.sql.SQLException: No suitable driver
> >
> >
> >
> > I assume I am missing something in hive-site.xml, or a jar file? Any
> > insight would be appreciated.
> >
> >
> >
> > Thanks,
> >
> >
> >
> > Dan
> >
> >
> > The information transmitted is intended only for the person or entity
> > to which it is addressed and may contain CONFIDENTIAL material. If you
> > receive this material/information in error, please contact the sender
> > and delete or destroy the material/information.
>
> The information transmitted is intended only for the person or entity to
> which it is addressed
> and may contain CONFIDENTIAL material.  If you receive this
> material/information in error,
> please contact the sender and delete or destroy the material/information.
>
>
> The information transmitted is intended only for the person or entity to
> which it is addressed
> and may contain CONFIDENTIAL material. If you receive this
> material/information in error,
> please contact the sender and delete or destroy the material/information.
>
>
> The information transmitted is intended only for the person or entity to
> which it is addressed
> and may contain CONFIDENTIAL material. If you receive this
> material/information in error,
> please contact the sender and delete or destroy the material/information.
>
>
> *************************************************************************
> This e-mail may contain confidential or privileged information.
> If you are not the intended recipient, please notify the sender
> immediately and then delete it.
>
> TIAA
> *************************************************************************
>

Reply via email to