Troubles with starting KsqlDb locally

Hello there, we are in the middle of POC for using Confluent Kafka for upcoming project. I had installed Confluent locally on Windows 10 WSL 2 environment, following Ubuntu Installation guide. Most of the things are working properly, except of starting ksqlDB Server with

confluent local services start

command. There error output :

Error: could not find share/java/confluent-common/common-config-*.jar in CONFLUENT_HOME

Variable CONFLUENT_HOME pointing to root folder ‘/’.

There is a workaround to start KsqlDB server with : sudo ksql-server-start -daemon /etc/ksqldb/ksql-server.properties command, but I wonder if their different configuration to do so.

Since confluent command starting version 6.0 are not open source, could not debug this locally.

Did you try setting CONFLUENT_HOME to the correct folder?

Well what would be right place for CONFLUENT_HOME ? If it’s not pointing to root folder, all rest services not starting with complaints of not finding bits and bolts.

It should be the folder you unzipped/installed the cli in. At least that’s how it used to work. I could try wsl 2 on windows 10 some time, only run it on Mac so far.

Also ran into this problem. I installed confluent platform using the instructions here: Manual Install using Systemd on Ubuntu and Debian | Confluent Documentation

Then used the confluent cli to start for development: confluent local services start

The start sequence failed like so:

Using CONFLUENT_CURRENT: /tmp/confluent.575870
Starting ZooKeeper
ZooKeeper is [UP]
Starting Kafka
Kafka is [UP]
Starting Schema Registry
Schema Registry is [UP]
Starting Kafka REST
Kafka REST is [UP]
Starting Connect
Connect is [UP]
Error: could not find share/java/confluent-common/common-config-*.jar in CONFLUENT_HOME

By default, the install instructions above install things at the root, so kafka et. al is located in /etc/kafka, for example. That means my confluent home is /. I added the following to my .profile:

export CONFLUENT_HOME=/
PATH="$CONFLUENT_HOME/bin:$PATH"

However, because the common jar files are in /usr, it fails, to find them.

To fix, I created a symlink from where those jars actually are: /usr/java/confluent-common to the root like so:

ln -s /usr/share /share

and now everything starts up.

Using CONFLUENT_CURRENT: /tmp/confluent.006579
Starting ZooKeeper
ZooKeeper is [UP]
Starting Kafka
Kafka is [UP]
Starting Schema Registry
Schema Registry is [UP]
Starting Kafka REST
Kafka REST is [UP]
Starting Connect
Connect is [UP]
Starting ksqlDB Server
ksqlDB Server is [UP]
Starting Control Center
Control Center is [UP]

Hope this helps.

Great hack, somehow forgot about symlink technique at the moment. Indeed, simple and elegant. :+1:

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.