Why is zookeeper.connect a forbidden config?
#11916
Replies: 1 comment 16 replies
-
|
To be honest, I do not know if anyone can give you a simple answer. And I'm not aware of anyone ever trying this. Strimzi is designed to use its own ZooKeeper cluster. It is part of Strimzi from the beginning. You cannot connect it to any other ZooKeeper. Even if you unblock these options, Strimzi would still deploy its own ZooKeeper cluster. And I'm afraid I'm not sure whether it would or would not be looking for some Kafka-related information there, so even if we ignore the running unused ZooKeeper cluster, I'm not sure it would work. I think it is similar with the migration. It might work, but there migth be also situations when the operator needs to touch the rigth ZooKeeper and will be missing information. I think there are at least some ZooKeeper path deletions during the migration rollback etc. @ppatierno might know how much the migration really touches the operator. So I think you would need to try these things your self and see how well it works when you just modify the forbidden options and what other things would need to be modified. But I'm not entirely sure how much it really helps you to migrate your cluster without the consumers noticing. Will you shut down the old Kafka brokers and copy the data manually to Strimzi brokers? I also guess there will be some address changes and similar things? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I am looking into making the migration from a koperator-managed Kafka cluster to Strimzi.
Without going into too much detail, I would really like the Strimzi Kafka to work with our existing ZooKeeper, rather than Strimzi rolling its own and me having to migrate the ZK data from the old to the new setup. The old setup also has all metadata under a 'subdir' '/kafka/[CLUSTER_NAME]
, making it harder to pick that data up under Strimzi since the ZK chroot can only be set through that samezookeeper.connect` parameter.It seems like the
zookeeper.connectsetting is protected only by its presence inFORBIDDEN_PREFIXES. So it would seem quite straightforward to leavezookeeper.connect(andzookeeper.ssl) out of that list and configure Strimzi to talk to my existing ZK instead. That would save me a lot of headache.My question: what is the reason Strimzi protects this configuration?
The scenario I am considering is:
zookeeper.connectan allowed settingWould it be as simple as allowing that configuration, or would that break any assumptions Strimzi makes and cause trouble somehow? If during this migration, Strimzi brings up a separate ZooKeeper because it thinks it has to, that does not matter in the slightest as long as the brokers talk to mine. I just need to do what needs to be done to get to a Strimzi + KRaft situation and if the journey itself is ugly that does not matter much.
The way I see it, a Kafka broker just needs to know where ZooKeeper is and how to talk to it. If I force Strimzi to allow me setting the ZooKeeper connection configuration (should also include SSL I realize now) that should be enough to have a Strimzi-Kafka with a BYO ZooKeeper.
Any insights here would be greatly appreciated.
There is precious little information to find on koperator to Strimzi migrations :-) I am open to suggestions there as well. MY requirements state I should swap koperator for Strimzi without consumers noticing any change: that includes keeping consumer offsets identical (ruling out MirrorMaker).
Beta Was this translation helpful? Give feedback.
All reactions