Connecting Airbyte to Local ClickHouse Instance

Summary

Error encountered while trying to connect Airbyte to a local ClickHouse instance. Connection timeout issue with HikariPool-1.


Question

How do I enable Airbyte to connect to my local ClickHouse instance?
I am unable to connect Airbyte (open-source) destination to my localhost ClickHouse database on my Macbook. I keep getting an error. I have verified the user/password work in ClickHouse browser: http://127.0.0.1:8123/play

Error:

	at io.airbyte.integrations.destination.jdbc.AbstractJdbcDestination.attemptTableOperations(AbstractJdbcDestination.java:146) ~[io.airbyte.airbyte-integrations.bases-bases-destination-jdbc-24.0.2.jar:?]
	at io.airbyte.integrations.destination.jdbc.AbstractJdbcDestination.attemptSQLCreateAndDropTableOperations(AbstractJdbcDestination.java:100) ~[io.airbyte.airbyte-integrations.bases-bases-destination-jdbc-24.0.2.jar:?]
	at io.airbyte.integrations.destination.clickhouse.ClickhouseDestination.check(ClickhouseDestination.java:90) ~[io.airbyte.airbyte-integrations.connectors-destination-clickhouse-24.0.2.jar:?]
	at io.airbyte.integrations.base.ssh.SshTunnel.sshWrap(SshTunnel.java:270) ~[io.airbyte.airbyte-integrations.bases-base-java-24.0.2.jar:?]
	at io.airbyte.integrations.base.ssh.SshWrappedDestination.check(SshWrappedDestination.java:67) ~[io.airbyte.airbyte-integrations.bases-base-java-24.0.2.jar:?]
	at io.airbyte.integrations.base.IntegrationRunner.runInternal(IntegrationRunner.java:124) ~[io.airbyte.airbyte-integrations.bases-base-java-24.0.2.jar:?]
	at io.airbyte.integrations.base.IntegrationRunner.run(IntegrationRunner.java:99) ~[io.airbyte.airbyte-integrations.bases-base-java-24.0.2.jar:?]
	at io.airbyte.integrations.destination.clickhouse.ClickhouseDestination.main(ClickhouseDestination.java:114) ~[io.airbyte.airbyte-integrations.connectors-destination-clickhouse-24.0.2.jar:?]
Caused by: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 60002ms.```

<br>

---

This topic has been created from a Slack thread to give it more visibility.
It will be on Read-Only mode here. [Click here](https://airbytehq.slack.com/archives/C021JANJ6TY/p1705256645558829) if you want to access the original thread.

[Join the conversation on Slack](https://slack.airbyte.com)

<sub>
["airbyte", "clickhouse", "connector", "connection-error", "hikaripool"]
</sub>

I ended up running ClickHouse from another docker container with the port mapped. Then I was able to connect to it from Airbyte docker.

    -v $(realpath ./ch_data):/var/lib/clickhouse/ \
    -v $(realpath ./ch_logs):/var/log/clickhouse-server/ \
    --name test-clickhouse-server --ulimit nofile=262144:262144 clickhouse/clickhouse-server```