1

我正在使用 logstash 创建从 Postgres 到 CockroachDB 的管道。下面是配置。

输入插件(源是 postgres)工作正常。但我无法使用 JDBC 在输出插件(cockroachDB)中建立连接。我面临以下错误。

JDBC - Connection is not valid. Please check connection string or that your JDBC endpoint is available. {:level=>:error, :file=>"logstash/outputs/jdbc.rb", :line=>"154", :method=>"setup_and_test_pool!"}

Destination(cockroachDB) 在指定的 ip 和端口打开连接。

由于 cockroachDB JDBC 连接字符串与 postgres 非常相似,我尝试了以下连接字符串,但仍然出现相同的错误。

jdbc:postgresql://host/database
jdbc:postgresql://host/database?sslmode=disable
jdbc:postgresql://host:port/database
jdbc:postgresql://host:port/database?sslmode=disable

如何从 logstash 输出插件通过 JDBC 连接到 cockroachDB?

4

2 回答 2

1

对于后代,这应该现在可以工作。问题是 JDBC 的isValid()方法由于 CockroachDB 未能准备空语句而失败,这已在 CockroachDB 中修复

于 2016-10-25T20:20:03.283 回答
1

您的 JDBC 连接字符串正常。

不要忘记使用 JDBC 驱动程序必须事先注册。您可以Class.forName("org.postgresql.Driver")在第一个 JDBC 类之前执行此操作,也可以java.sql.DriverManager.registerDriver(new org.postgresql.Driver());在创建连接之前调用。也许您忘记注册驱动程序?

于 2016-08-22T15:26:45.547 回答