All rights reserved. Redistribution or public display is not permitted without written permission from Kakao. 카프카, 대규모 클러스터 운영 후기 심현준 davis.s 카카오 if(kakao)2022
과다한 경우 파티션 증설과 함께 고려 - 24시간, 12시간 은 물론 3시간, 1시간 운영중 - 신속한 장애 복구와 디스크 용량 (비용) 관리 구분 파라미터 Cluster log.retention.hours unclean.leader.election.enable num.replica.fetchers num.network.threads num.io.threads Topic retention.ms
되도록 허용하 는 옵션 - Default : false -> 데이터 정합성 - 카카오 : true -> 서비스 영속성 - 처음 적용하는 경우 테스트 이후 적용을 권고 구분 파라미터 Cluster log.retention.hours unclean.leader.election.enable num.replica.fetchers num.network.threads num.io.threads Topic retention.ms
- num.network.threads - num.io.threads - 그 외 기본값과 다른 파라미터 - auto.create.topics.enable - 의미없는 토픽이 생성되지 않도록 False - log.dirs - Sticky bit, 자동 삭제의 /tmp 외 지정 구분 파라미터 Cluster log.retention.hours unclean.leader.election.enable num.replica.fetchers num.network.threads num.io.threads Topic retention.ms
Migration - 소규모의 경우 Rolling Upgrade - 사전에 Producer, Consumer 환경에 대한 대 비 필요 - 노후화된 H/W, OS EOL 임박한 환경이라면 신 규 환경 구축 후 Migration 분류 Kafka Version Life Cycle Deprecated <0.11.X ~2020/11 AS - IS 1.1.1 ~2023/11 (예정) 2.7.X, 2.8.X 제공 중 TO - BE >3.4.X 2022/12 ~
컨트롤러 장애로 잠시 발생 - 대부분 default.replication.factor 와 min.insync.replicas 값이 같을 때 ack=ALL (-1) 이면 발생 - ack=1이 default 값이자 부하가 적으므로 꼭 필요한 경우가 아니면 기본값인 ack=1 사용 - 기본값은 1이나, 다중화를 위해 2 이상의 값으로 지정 - default.replication.factor=3, min.insync.replicas=2 를 권고 - fl uentd 등의 프로그램에서 default ack 값을 -1 (ALL)로 지정하고 있으니 확인이 필요 - RF 값이 올라간 대신 Follower 복제만큼 부하가 커지니 대비 필요 [ReplicaManager broker=3] Error processing append operation on partition if-1