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.

Reply via email to