PDA

View Full Version : CDH4 Hive JDBC issue on windows



cedricdevroey
04-02-2013, 10:34 AM
Hi Guys,

I'm trying to connect to a remote hive from within kettle on my windows machine. Unfortunately, there seems to be something wrong with my configuration or the JDBC Driver (see below) Any Advice?
FYI I'm using PDI-CE-4.4 on a Windows7 64bit and I have configured Kettle for cdh4

Thanks!
Cedric



Caused by: org.pentaho.di.core.exception.KettleDatabaseException:
Error connecting to database: (using class org.apache.hadoop.hive.jdbc.HiveDriver)
Error communicating with Hive


at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:502)
at org.pentaho.di.core.database.Database.normalConnect(Database.java:350)
... 44 more
Caused by: java.sql.SQLException: Error communicating with Hive
at org.apache.hadoop.hive.jdbc.JDBCDriverCallable.callWithDriver(JDBCDriverCallable.java:62)
at org.apache.hadoop.hive.jdbc.HiveDriver.callWithActiveDriver(HiveDriver.java:112)
at org.apache.hadoop.hive.jdbc.HiveDriver.connect(HiveDriver.java:123)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:488)
... 45 more
Caused by: java.lang.RuntimeException: java.io.IOException: The system cannot find the path specified
at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:265)
at org.apache.hadoop.hive.jdbc.HiveConnection.<init>(HiveConnection.java:73)
at org.apache.hadoop.hive.jdbc.HiveDriver.connect(HiveDriver.java:104)
at org.apache.hadoop.hive.jdbc.HiveDriver$1.call(HiveDriver.java:126)
at org.apache.hadoop.hive.jdbc.HiveDriver$1.call(HiveDriver.java:123)
at org.apache.hadoop.hive.jdbc.JDBCDriverCallable.callWithDriver(JDBCDriverCallable.java:57)
... 50 more
Caused by: java.io.IOException: The system cannot find the path specified
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createTempFile(Unknown Source)
at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:261)
... 55 more


Hostname : localhost
Port : 10000
Database name : default

mattb_pdi
04-02-2013, 10:47 AM
The hostname is listed as "localhost" which would be your Windows machine, not a remote hive. Also, is the Hive server on the remote node running? I don't think it starts up automatically on boot.

cedricdevroey
04-03-2013, 04:57 AM
Hey Matt, thanks for the reply. Yes, the hostname is localhost because I tunnel port 10000 to our remote server through SSH. The hive server is running, we use the Cloudera manager 4 to control and configure the hadoop services.

I got this working now. Solution was to upgrade the JDBC driver for hive in the big data plugin folder.

But now I seem to have a new issue with the Hive server:


org.apache.thrift.transport.TSaslServerTransport: failed to open server transport