0
votes

I have 3 broker Kafka cluster, and what I am looking is to set any 1 broker in ready only mode. I did checked Kafka documentation but did not find any config to do this.

Is there any way to achieve this?

Update

My Use Case:

Current state: I have a 3 broker kafka cluster running in healthy state.

What to achieve: I want to update the hardware of all 3 brokers.

What I am trying:

  • Launch 3 new brokers, and let them join the cluster (cluster of 6)
  • Use reassign-partition tool to migrate data from old brokers to new brokers
  • Once successfully completed above operation, then terminate old 3 brokers

I did verified this, and its working fine, I can see all my data moved successfully to new brokers.

. .

What is the challenge:

I do have clients(producer and consumer) accessing this cluster. I want the above activity to be NON-DOWNTIME(I mean I should not loose any of the client data, also existing clients should be able to access service)

The thing I am digging currently is - what if a client make a request to create a new topic at the exact same time when data migration is in progress.

Will this happen?

Partitions of new topic may go to old brokers, and as data reassignment is in-progress, this topic will not be reassigned.(I know it can go to new brokers as well, but what if all partitions are assigned to old brokers)

So if I terminate old brokers, then will I loose the newly created topic ?

Hence

So that is why I was looking for a way - by which I can make sure that the partitions of new topic are placed to new brokers(similar to put the old brokers in read only mode)

1
Could you elaborate your use-case as to why you would want to do this? - JavaTechnical
@JavaTechnical- Added my use case. - Tushar H
Did you try pushing new data while keeping the reassignment in progress? I suppose that the topic metadata update notification will come to your clients and then they re-read/produce the data from/to the new brokers. - JavaTechnical
@JavaTechnical- let me try that - Tushar H

1 Answers

0
votes

You can not set broker in read only mode. Kafka broker doesn't support read only mode.