尝试使用 Apache Ni-Fi 通过 SSL 连接到 Timescale Cloud 时出错

Error when trying to connect to Timescale Cloud with SSL by using Apache Ni-Fi

我使用 Apache Ni-Fi(版本 1.15.2)创建了一个数据管道,用于将数据从 AWS RDS 实例中的 MySQL 数据库传输到 Timescale (postgreSQL)。 Ni-Fi 在 Linux Ubuntu 18.04 中运行在 Windows 10 之上的 Virtual Box 中。通过使用位于我本地 [=92] 的 Timescale 数据库作为目标,管道已成功测试=] 实例,不使用 SSL。

然后我修改了管道以使用 Timescale Cloud 作为目标 (https://portal.timescale.cloud/login)。数据库名称是:periodic-measurements

在 Timescale Cloud 服务页面我可以看到这些凭据:

我使用 PutDatabaseRecord 处理器在使用 DBCPConnectionPool 控制器服务的 postgreSQL 数据库中写入数据。

我已经将从 Timescale Cloud 服务页面获取的 CA 证书复制到我的 Linux 实例中的以下目录,文件名如下:

/etc/ca-certificates/ts-cloud-ca.pem

这些是 DBCPConnectionPool 控制器服务中的配置参数:

• 数据库连接 URL:jdbc:postgres://<host-string>:10250/periodic-measurements

• 数据库驱动程序 Class 名称:org.postgresql.Driver

• 数据库驱动程序位置:/usr/share/java/postgresql/postgresql-42.3.1.jar

• 数据库用户:tsdbadmin

• 密码:<timescale-cloud-service-password>

• ssl 模式:require

• sslrootcert:/etc/ca-certificates/ts-cloud-ca.pem

启用控制器服务时出现以下错误:

StandardControllerServiceNode[service=DBCPConnectionPool[id=017e1005-818e-1423-7951-125faf9dff4d], name=Connector to Timescale Cloud, active=true] Failed to invoke @OnEnabled method due to java.sql.SQLException: No suitable driver

causes: org.apache.nifi.processor.exception.ProcessException: No suitable driver for the given Database Connection URL: No suitable driver for the given Database Connection URL

如果我使用 sslmode 更改 DBCPConnectionPool 控制器服务设置,我会得到相同的结果:verify-ca

请注意,我已使用相同的凭据从我的 Linux 实例成功连接到带有 Grafana 的 Timescale Cloud 数据库。

有什么可能出错的提示吗?

谢谢,

贝尔纳多

错误出现在以 jdbc:postgres 而非 jdbc:postgresql

开头的数据库连接 URL 中的 DBCPConnectionPool 控制器服务的配置参数中

正确配置:

• 数据库连接 URL:jdbc:postgresql://:10250/periodic-measurements