Dbeaver Hive Kerberos

Posted : admin On 1/29/2022
  1. Dbeaver Kerberos Hive Windows
  2. Dbeaver Hive Kerberos

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

在前面Fayson的文章《Hadoop SQL客户端工具之Dbeaver安装及使用》和《0468-如何使用DBeaver访问Kerberos环境下的Hive》。. DBeaver connection with JDBC kerberos to Hive/Impala is somewhat difficult to make it work. Try an easier method using ODBC as given in https. DBeaver Universal Database Tool Free multi-platform database tool for developers, database administrators, analysts and all people who need to work with databases. Supports all popular databases: MySQL, PostgreSQL, SQLite, Oracle, DB2, SQL Server, Sybase, MS Access, Teradata, Firebird, Apache Hive, Phoenix, Presto, etc.

  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!

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

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

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

KerberosDbeaver Hive Kerberos
  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.

Dbeaver Kerberos Hive Windows

Create a Connection to Hive Data

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

Dbeaver Hive Kerberos
  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;

Query Hive Data

Dbeaver Hive Kerberos

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.