CMAK icon indicating copy to clipboard operation
CMAK copied to clipboard

CMAK should stop using Zookeeper as Kafka connection endpoint

Open akamensky opened this issue 5 years ago • 19 comments

Kafka is phasing out Zookeeper. All actions in Kafka are done via Kafka API and don't require direct connection to Zookeeper.

However CMAK still relies on defining Zookeeper as connection endpoint.

In our case Zookeeper is locked down (on network ACLs level), there is no direct connection to that from CMAK or anywhere else. Only from Kafka brokers.

akamensky avatar Jun 15 '20 02:06 akamensky

Yep, we'll phase it out but we'll need some place to store metadata. Either directly in Kafka or RDBMS. Still to be designed.

patelh avatar Jun 20 '20 19:06 patelh

I don’t mean that CMAK shouldn’t use Zookeeper to store it’s own metadata. But it should not require zookeeper info to connect to Kafka cluster.

Currently to add cluster it requires zookeeper connection string. While Kafka has already deprecated using zookeeper in most of their tools and clients. The cluster discovery and Kafka communication API shouldn’t involve Zookeeper.

Where CMAK stores it’s own metadata has no connection to this whatsoever. In our case we are running CMAK with its own zookeeper.

akamensky avatar Jun 21 '20 09:06 akamensky

As a matter of fact as a user of CMAK I would highly prefer if it didn’t store any of its own data in Kafka. Because CMAK is a supporting tool. It shouldn’t pollute data in Kafka with stuff that’s not relevant there.

akamensky avatar Jun 21 '20 09:06 akamensky

In our case Zookeeper is locked down (on network ACLs level), there is no direct connection to that from CMAK or anywhere else. Only from Kafka brokers. @akamensky How are you able to run CMAK with the ACL restriction to Zookeeper since the zookeeper is the connection endpoint for the cluster in CMAK?

srikalam avatar Jun 24 '20 20:06 srikalam

@srikalam well, that is the point. We can’t after setting up the restrictions. Information is stale in CMAK and doesn’t get updated.

akamensky avatar Jun 24 '20 23:06 akamensky

@akamensky Thanks for the confirmation. We are also facing the same issue on our usecase. Hopefully CMAK get updated soon to configure Kafka Cluster using brokers instead of zk hosts

srikalam avatar Jun 25 '20 00:06 srikalam

The same for us: for security reason kafka zookeeper isolated from other services. It will be great to have ability to use Kafka api than direct zookeeper connection

azhurbilo avatar Jul 28 '20 15:07 azhurbilo

@akamensky We are having the same issue and we agree with you that Kafka shouldn't be polluted with CMAK metadata either. I think en internal KV store should be introduced for metadata and all connection should be directed toward broker.

cubeprogramming avatar Oct 22 '20 12:10 cubeprogramming

We run kafka version 3.2.3 without zookeeper (using kraft). Unfortunately, it seems that we can't use CMAK (which we consider very useful and convenient) anymore due to absence of zookeeper. Please, add support for kraft in newer kafka versions.

webodmin avatar Oct 06 '22 17:10 webodmin

I think we should discuss this further and agree on a approach, CMAK is a very powerful tool and is widely used.

We can still use a ZK to store CMAK configuration and only change connectivity to Kafka cluster for cluster specific information. This will also reduce development work in the initial phase as think to have a different storing place for CMAK configuration.

Using and managing a standalone ZK should be doable and many organisations do it for other use cases including Kafka.

Thoughts ?

Ashish123gs avatar Oct 11 '22 03:10 Ashish123gs

Actually we can store CMAK configuration in a dedicated Kafka topic ( compacted ? )

Ashish123gs avatar Oct 11 '22 17:10 Ashish123gs

+1 for the option to store CMAK metadata in a Kafka topic. Now that KRaft is production-ready (as of 3.3.1), having to continue running ZK just for CMAK to be able to manage my clusters seems like a step backwards.

ceeeekay avatar Nov 15 '22 04:11 ceeeekay

Currently to add cluster it requires zookeeper connection string. While Kafka has already deprecated using zookeeper in most of their tools and clients. The cluster discovery and Kafka communication API shouldn’t involve Zookeeper.

+1 for this feature

iamalryz avatar May 23 '23 09:05 iamalryz

+1 for this feature

EvgeniiTarabanov avatar May 24 '23 00:05 EvgeniiTarabanov

Hello, I want to use CMAK, but not using Zookeeper. +1 for this issue. Thank you.

Dacesilian avatar Aug 06 '23 18:08 Dacesilian

+1 to this feature.

I'm also looking forward to use CMAK with Kraft.

adriano-brito-ts avatar Aug 21 '23 13:08 adriano-brito-ts

+1 for this feature

mgh9 avatar Oct 11 '23 11:10 mgh9

+1 for this feature

itshusky01 avatar Oct 30 '23 08:10 itshusky01

+1 for this feature

garrettus avatar Nov 16 '23 06:11 garrettus