Note: This was originally posted by an inactive account. Content was preserved by moving under an admin account.
Originally posted by: awilliams1024Hi tris,
Lavastorm do not redistribute JDBC drivers for Hadoop platforms. You will need to obtain the drivers from the appropriate Hadoop distribution vendor's website, e.g.:
Cloudera -
https://www.cloudera.com/downloads.html
Hortonworks -
https://hortonworks.com/downloads/
** Upfront caveat: There are many issues that can prevent a successful JDBC connection to a Kerberos-secured Hadoop cluster. I do not have a secure cluster available to test this against so your mileage may vary on this ...
The driver you are using has to be compatible with the Java version used by Lavastorm. Lavastorm 6.1 uses Java 7. Check the system requirements in the driver's installation guide.
I have not used Impala but I have seen some issues with loading other JDBC drivers for Hadoop (specifically Hive) and the underlying cause may be the same. The driver typically comprise a number of jar files and there may be issues conflicts with the core jars used by Lavastorm if the driver jars have been copied into the lib/java/ext directory.
This can be overcome by:
a) Extract the driver files and copying them into an accessible directory on the machine hosting Lavastorm.
b) Declare a text type property on the JDBC Query node named 'Classpaths' and put it in the 'Java' property group.
c) Enter the file path to each of the driver's jars in the 'Classpaths' text property. Use a separate line for each path.
If required you could use a graph run property to specify the directory portion of the file paths so that you can change
this more easily if you want to run the data flow on different machines.
An example of creating a node with the custom Classpaths is shown below.
Hive_JDBC_Query_Node_with_Custom_Classpaths_Example.brg
In my case the 'HiveDriverFP' property was set to the directory where the jars had been copied to e.g.
C:/Program Files/Lavastorm/LAE6.1/ExternalDrivers/Cloudera_HiveJDBC41_2.5.16
Check the driver's installation and configuration guide for the appropriate information required to configure the driver. The node in the example reflects connecting to a cluster that is using username authentication. You will need to change the configuration if you are trying to use Kerberos, and it will have to align with the method by which the driver obtains the TicketGrantingTicket and Kerberos Principal.
In particular you will need to modify the connection string in the DbUrl property. e.g. (yours will probably be different depending on your driver version and Kerberos set-up, and may need more or fewer attributes)
jdbc:hive2://hiveHostname:10000;AuthMech=1;KrbRealm=HIVEHOSTNAM E.LAVASTORM.COM;KrbHostFQDN=hiveHostname.lavastorm .com;KrbServiceName=hive