Как мне подключиться к cockroachDB через JDBC из плагина вывода logstash?

Я использую logstash для создания конвейера от Postgres к CockroachDB. Ниже конфиг.

Плагин ввода (источник - postgres) работает нормально. Но я не могу установить соединение в выходном плагине (cockroachDB) с помощью JDBC. Я столкнулся с ошибкой ниже.

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

Как мне подключиться к cockroachDB через JDBC из плагина вывода logstash?


person ashivan    schedule 19.08.2016    source источник


Ответы (2)


Строки подключения JDBC в порядке.

Не забывайте, что с JDBC драйвер должен быть зарегистрирован заранее. Вы можете сделать это либо с помощью Class.forName("org.postgresql.Driver") перед первым классом JDBC, либо вызвать java.sql.DriverManager.registerDriver(new org.postgresql.Driver()); перед созданием соединения. Возможно, вы забыли прописать драйвер?

person kena    schedule 22.08.2016

Для потомков это должно работать сейчас. Проблема заключалась в том, что метод JDBC isValid() не работал из-за того, что CockroachDB не смог подготовить пустые операторы, которые с тех пор были исправлены в CockroachDB.

person Alex Robinson    schedule 25.10.2016