본문 바로가기

빅데이터/Kafka

Apache Kafka에서 topic의 partition 개수 줄이는 방법?


아파치 카프카에서 topic의 partition 개수 줄이는 방법?

정답 : 없다(~2.1 version)

Apache Kafka는 partition number을 줄이는 것을 지원하지 않는다. Topic에 대한 data 처리량을 늘리기 위해 partition을 쉽게 늘릴 수 있지만, partition number을 줄이는 것 즉 partition 삭제에 대한 정책은 지원하지 않는다.


Partition을 삭제하게되면 그 즉시 파티션에 존재하는 data가 삭제되기 때문이다. 이 때문에 partition의 삭제가 가능하기 위해서는 kafka에서 능동적으로 partition삭제에 대한 처리(data rebalancing)을 해야하는데 이는 아직(현재 version 2.1) 개발되지 않았다.


LinkedIn의 Senior Software Engineer이자 Confluent의 Software Engineer인 Guozhang Wang(이력 보러 가기)씨는 2015년에 아래와 같이 답변을 남긴 적이 있다.


[Kafka-users] Decrease the number of partitions for topic


상기와 같은 글을 보면 알 수 있듯이 Kafka 내부에서도 partition decrease에 대한 관심이 있었던 것으로 보인다. 


하지만 아직(2018년)까지도 구현되지 않고 있는 것을 보아, kafka내부적으로 처리하는데 이슈가 있거나 혹은 낮은 우선순위로 작업이 진행되고 있는 것으로 보인다.