view-set-change-partition-count
✅ 특정 토픽의 파티션 수 조회하기 토픽에 설정된 파티션 수를 조회하려면 이전에 배웠던 특정 토픽의 세부 정보 조회를 할 때 사용하는 명령어를 입력하면 된다.
# 특정 토픽 세부 정보 조회
$ bin/kafka-topics.sh \
--bootstrap-server localhost:9092 \
--describe --topic email.sendPartition : 파티션 번호 (0번 부터 시작)
✅ 토픽 생성할 때 파티션 수 설정하기 토픽 생성하기 (+ 파티션 수 설정하기) # 문법
$ bin/kafka-topics.sh \
--bootstrap-server <kafka 주소> \
--create \
--topic <토픽명> \
--partitions <파티션 수>
# 예제
$ bin/kafka-topics.sh \
--bootstrap-server localhost:9092 \
--create \
--topic test.topic \
--partitions 3
잘 생성됐는 지 확인하기 $ bin/kafka-topics.sh \
--bootstrap-server localhost:9092 \
--describe --topic test.topic파티션 수가 3개로 잘 설정된 걸 확인할 수 있다.
그림으로 표현하면 다음과 같다.
✅ 기존 토픽의 파티션 수 늘리기 기존 토픽의 파티션 수 늘리기 # 문법
$ bin/kafka-topics.sh \
--bootstrap-server <kafka 주소> \
--alter \
--topic <토픽명> \
--partitions <변경할 최종 파티션 수>
# 예제
$ bin/kafka-topics.sh \
--bootstrap-server localhost:9092 \
--alter \
--topic test.topic \
--partitions 5
잘 생성됐는 지 확인하기 $ bin/kafka-topics.sh \
--bootstrap-server localhost:9092 \
--describe --topic test.topic파티션 수가 5개로 잘 변경된 걸 확인할 수 있다.
✅ 기존 토픽의 파티션 수 줄이기 파티션 수를 3개에서 5개로 늘린 걸, 다시 3개로 줄여보자.
$ bin/kafka-topics.sh \
--bootstrap-server localhost:9092 \
--alter \
--topic test.topic \
--partitions 3기존 토픽의 파티션 수를 줄이려고 했더니 에러가 발생했다.
Kafka에서는 파티션 수를 늘릴 수는 있지만 줄일 수는 없게 만들어놨다. 파티션을 줄이는 과정에서 내부적으로 문제(데이터 손실, 성능 저하 등)가 많이 발생하기 때문이다.
그래서 파티션을 줄이고 싶다면 새로운 토픽을 생성해서 파티션 수를 다시 설정해야 한다. 그리고 기존 토픽을 새로운 토픽으로 마이그레이션 시켜야 한다.
파티션 수를 줄이기 위해 기존 토픽에서 새로운 토픽으로 마이그레이션 시키는 과정이 귀찮기 때문에, 처음 파티션 수를 설정할 때 신중하게 설정하는 걸 권장하는 편이다.