1

Postgres から CockroachDB へのパイプラインを作成するために、logstash を使用しています。以下は構成です。

入力プラグイン (ソースは 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!"}

宛先 (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

後世のために、これは現在機能しているはずです。問題は、 CockroachDB が空のステートメントの準備に失敗したためにJDBC のisValid()メソッドが失敗していたことでした。この問題は、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 に答える