Dbeaver Hive Kerberos



If you're able to connect to beeline, you should be able to connect to hive using same port number and host from DBeaver. Hive listener port by default is configured on 10000, but there's a possibility that your admin can change the port number. Check the port number in hive-site.xml, or get it from admin.

  • The Simba Hive driver supports Active Directory Kerberos on Windows.
  • Using Kerberos authentication from Unix Machines on the same domain. This guide assumes a working Kerberos setup already exists. Run the following code on a Windows machine with working Kerberos authentication to verify if the aforementioned is true. The code will print 'Authentication Scheme: KERBEROS' to the console if successful.
  • BigQuery Blogging CSV DBeaver EGPU Hive isql Kerberos ODBC Oracle Python SQL Tableau. Data Visualization. Machine Learning. R-richmond Data Wizard A large tech company. R-richmond is an analytically minded individual who is currently pursuing data analytics.
HiveDbeaver hive kerberos

The CData JDBC Driver for Hive implements JDBC standards that enable third-party tools to interoperate, from wizards in IDEs to business intelligence tools. This article shows how to connect to Hive data with wizards in DBeaver and browse data in the DBeaver GUI.

Create a JDBC Data Source for Hive Data

Hive

Follow the steps below to load the driver JAR in DBeaver.

  1. Open the DBeaver application and, in the Databases menu, select the Driver Manager option. Click New to open the Create New Driver form.
  2. In the Driver Name box, enter a user-friendly name for the driver.
  3. To add the .jar, click Add File.
  4. In the create new driver dialog that appears, select the cdata.jdbc.apachehive.jar file, located in the lib subfolder of the installation directory.
  5. Click the Find Class button and select the ApacheHiveDriver class from the results. This will automatically fill the Class Name field at the top of the form. The class name for the driver is cdata.jdbc.apachehive.ApacheHiveDriver.
  6. Add jdbc:apachehive: in the URL Template field.

Create a Connection to Hive Data

Follow the steps below to add credentials and other required connection properties.

  1. In the Databases menu, click New Connection.
  2. In the Create new connection wizard that results, select the driver.
  3. On the next page of the wizard, click the driver properties tab.
  4. Enter values for authentication credentials and other properties required to connect to Hive.

    Set the Server, Port, TransportMode, and AuthScheme connection properties to connect to Hive.

    Built-in Connection String Designer

    For assistance in constructing the JDBC URL, use the connection string designer built into the Hive JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.

    java -jar cdata.jdbc.apachehive.jar

    Fill in the connection properties and copy the connection string to the clipboard.

    Below is a typical connection string:

    jdbc:apachehive:Server=127.0.0.1;Port=10000;TransportMode=BINARY;
Dbeaver kerberos hive windows

Query Hive Data

You can now query information from the tables exposed by the connection: Right-click a Table and then click Edit Table. The data is available on the Data tab.

You can find installation instructions here

You can find the latest drivers on the Cloudera website

mkdir ~/.dbeaver-drivers/cloudera-hive/

  1. Navigate to Database > Driver Manager > New
  2. Add all the files from ~/.dbeaver-drivers/cloudera-hive/
  3. Driver name: Hive-Cloudera (for labeling only)
  4. Class name: com.cloudera.hive.jdbc41.HS2Driver (at the time of this writing)
  5. Default port: 10000
  6. URL template: jdbc:hive2://{host}:{port}/{database};AuthMech=1;KrbRealm=FOO.BAR;KrbHostFQDN={server}; KrbServiceName=hive;KrbAuthType=2
    • Note you need to change FOO.BAR to match your krb5.conf settings

Dbeaver Kerberos Hive Windows

  1. In the menu bar Navigate to Database > New Connection
  2. Select Hive-Cloudera
  3. Fill in the appropriate values for host & database (I set database to default)
  4. Set server to be your KrbHostFQDN
  5. Leave your user name & password blank
  6. Test connection
  7. Press next, next, & change the name of this connection as you see fit
  8. Press finish

Congrats you’ve successfully connected to hive using kerberos authentication!

Dbeaver Hive Kerberos

If you are receiving [Cloudera][HiveJDBCDriver](500168) Error creating login context using ticket cache: Unable to obtain Principal Name for authentication make sure to check the following

  1. Ensure that you have the latest cryptography libraries installed
    • Java 9 includes these libraries by default
  2. That you’ve configured your /etc/krb5.conf successfully
    • If you’ve done this correctly you should be able to run kinit in terminal and create a ticket without issue
  3. For Windows adding the following lines to your dbeaver.ini may be necessary as well

    • -Djava.security.krb5.conf=c:kerberoskrb5.ini
      • note: this is the windows equivalent of /etc/krb5.conf
    • -Djava.security.auth.login.config=c:kerberosjaas.conf

      • success has also been reported with the following jaas.conf file & keytab usage