How do I connect to Cassandra with Dbeaver Community edition?

Viewed 6909

Has anyone had any success with connecting to a Cassandra cluster using DBeaver Community Edition? I've tried to follow this post, but haven't had any success. I have to have authentication enabled, and I get an error saying:

Authentication error on host /x.x.x.x:9042: Host /x.x.x.x:9042 requires authentication, but no authenticator found in Cluster configuration

2 Answers

Overview

DataStax offers the JDBC driver from Magnitude (formerly Simba) to users at no cost so you should be able to use it with DBeaver.

These are the high-level steps for connecting to a Cassandra cluster with DBeaver:

  1. Download the Simba JDBC driver from DataStax
  2. Import the Simba JDBC driver
  3. Create a new connection to your cluster

Download the driver

  1. Go to https://downloads.datastax.com/#odbc-jdbc-drivers.
  2. Select Simba JDBC Driver for Apache Cassandra.
  3. Select JDBC 4.2.
  4. Accept the license terms (click the checkbox).
  5. Hit the blue Download button.
  6. Once the download completes, unzip the downloaded file.

Import the driver

In DBeaver, go to the Driver Manager and import the Simba JDBC driver as follows:

  1. Click the New button
  2. In the Libraries tab, click the Add File button
  3. Locate the directory where you unzipped the download and add the CassandraJDBC42.jar file.
  4. Click the Find Class button which should identify the driver class as com.simba.cassandra.jdbc42.Driver.
  5. In the Settings tab, set the following:
  • Driver Name: Cassandra
  • Driver Type: Generic
  • Class Name: com.simba.cassandra.jdbc42.Driver
  • URL Template: jdbc:cassandra://{host}[:{port}];AuthMech=1 (set authentication mechanism to 0 if your cluster doesn't have authentication enabled)
  • Default Port: 9042
  1. Click the OK button to save the driver.

At this point, you should see Cassandra as one of the drivers in the list.

Connect to your cluster

In DBeaver, create a new database connection as follows:

  1. Select Cassandra from the drivers list.
  2. In the Main tab of the JDBC connection settings, set the following:
  • Host: node_ip_address (this could be any node in your cluster)
  • Port: 9042 (or whatever you've set as rpc_port in cassandra.yaml)
  • Username: your_db_username
  • Password: your_db_password
  1. Click on the Test Connection button to confirm that the driver configuration is working.
  2. Click on the Finish button to save the connection settings.

At this point, you should be able to browse the keyspaces and tables in your Cassandra cluster. Cheers!

Erick Ramirez answer mostly worked for me. I did manage to get a connection, but I never figured out how to get dbeaver to properly work with dates. By default they were displayed in local time, and queries with filters on exact timestamps did not work.

What did work very well for me was the Cassandra integration in JetBrains Rider. (I guess it's the same as for JetBrains IntelliJ)

Related