如何使用 Dbeaver 社区版连接到 Cassandra?

How do I connect to Cassandra with Dbeaver Community edition?

有没有人使用 DBeaver Community Edition 成功连接到 Cassandra 集群?我尝试关注 this post,但没有成功。我必须启用身份验证,但我收到一条错误消息:

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

概述

DataStax 免费向用户提供来自 Magnitude(以前称为 Simba)的 JDBC driver,因此您应该可以将其与 DBeaver 一起使用。

这些是 high-level 使用 DBeaver 连接到 Cassandra 集群的步骤:

  1. 从 DataStax
  2. 下载 Simba JDBC driver
  3. 导入辛巴JDBCdriver
  4. 创建到集群的新连接

下载driver

  1. 转到https://downloads.datastax.com/#odbc-jdbc-drivers
  2. Select Simba JDBC Driver for Apache Cassandra.
  3. Select JDBC 4.2.
  4. 接受许可条款(单击复选框)。
  5. 点击蓝色 下载 按钮。
  6. 下载完成后,解压下载的文件。

导入 driver

在DBeaver中,进入Driver管理器并导入Simba JDBC driver如下:

  1. 单击 新建 按钮
  2. 选项卡中,单击添加文件 按钮
  3. 找到解压下载文件的目录并添加 CassandraJDBC42.jar 文件。
  4. 单击 查找 Class 按钮,应将 driver class 识别为 com.simba.cassandra.jdbc42.Driver
  5. 设置选项卡中,设置以下内容:
  • Driver 姓名:Cassandra
  • Driver 类型:Generic
  • Class 姓名:com.simba.cassandra.jdbc42.Driver
  • URL 模板:jdbc:cassandra://{host}[:{port}];AuthMech=1(如果您的集群未启用身份验证,请将身份验证机制设置为 0
  • 默认端口:9042
  1. 点击确定按钮保存driver。

此时,您应该看到 Cassandra 是列表中的 driver 之一。

连接到您的集群

在DBeaver中,新建一个数据库连接如下:

  1. Select Cassandra 来自 drivers 列表。
  2. 在 JDBC 连接设置的 选项卡中,设置以下内容:
  • 主机:node_ip_address(这可以是集群中的任何节点)
  • 端口:9042(或您在 cassandra.yaml 中设置为 rpc_port 的任何内容)
  • 用户名:your_db_username
  • 密码:your_db_password
  1. 单击 测试连接 按钮以确认 driver 配置正常工作。
  2. 单击完成 按钮以保存连接设置。

此时,您应该能够浏览 Cassandra 集群中的键空间和表。干杯!

Erick Ramirez 的回答大部分 对我有用。我确实设法建立了连接,但我从来没有弄清楚如何让 dbeaver 正确处理日期。默认情况下,它们以当地时间显示,使用精确时间戳过滤器的查询不起作用。

对我来说效果很好的是 JetBrains Rider 中的 Cassandra 集成。 (我想这与 JetBrains IntelliJ 相同)