운영
-
카프카 운영 - 컨슈머의 오프셋 정보 변경하기개발자 라이프/카프카 2020. 1. 14. 21:40
들어가며 프로듀서가 메세지를 발행하는 과정에서 에러가 발생하여, 컨슈머가 해당 메세지를 소비하지 못하고 Hang이 걸리는 경우가 있다(고승범님 글 참조). 이러한 경우 컨슈머의 오프셋 정보를 강제로 변경할 필요가 있다. 이 글에서는 브로커 CLI 환경에서 오프셋 정보를 변경하는 방법에 대해 살펴본다. 오프셋 정보 변경하기 메세지 발행/구독 프로듀서에 메세지 발행 # 발행할 메세지 입력 /usr/bin/kafka-console-producer --broker-list kafka-server-host:9092 --topic donald-offset-update > ... 컨슈머에서 메세지 구독 (-> 오프셋 최신화) # 브로커에 쌓인 메세지 구독 /usr/bin/kafka-console-consumer --..
-
로컬에 주키퍼, 카프카 설치하기 (Standalone)개발자 라이프/카프카 2020. 1. 14. 21:04
들어가며 이번 글은 주키퍼와 카프카를 로컬에 설치하는 방법에 대해 알아봅니다. 로컬에 설치하기 때문에 주키퍼와 카프카 모두 standalone 방식으로 구성합니다. 로컬에서 개발 환경을 구성하고 싶으신 분들은 참고하시면 되겠습니다. :) 또한 설치하는 주키퍼와 카프카의 설정은 최소 설정입니다. 혹여나 커스텀한 설정이 필요하신 분은 설정 파일을 별도로 수정하시면 됩니다. 기본적인 것들 Java 기존 설치 확인 javac -version OpenJdk 설치 sudo yum install java-1.8.0-openjdk-devel.x86_64 -y 정상 설치 확인 javac -version wget 기존 설치 확인 yum list installed | grep wget 설치 sudo yum install w..
-
카프카 운영 - Partition Reassign개발자 라이프/카프카 2020. 1. 14. 20:52
들어가며 카프카의 파티션(partition)은 실제로 메세지에 대한 발행과 소비를 담당합니다. 그렇기 때문에 파티션의 수, 브로커 내의 파티션 위치, 파티션 복제 계수 등 파티션에 관련된 설정은 카프카 운영에 있어 가장 중요한 요소입니다. 이번 글은 브로커 내에 분포되어 있는 파티션들의 설정을 변경하는 파티션 재설정(partition reassign)하는 방법에 대해 다뤄봅니다. 들어가기에 앞서 주의사항이 있습니다. 파티션의 재설정은 컨슈머 리밸런싱 등 카프카 내부의 많은 작업을 유발합니다. 그렇기 때문에 정상적인 운영 중에는 재설정을 추천하지 않습니다. Partition Reassign 파티션 재설정에는 파티션의 브로커 위치와 복제 계수를 변경할 수 있습니다. 본 글에서는 브로커 위치를 변경해보는 것을..
-
카프카 운영 - Preferred Replica Election개발자 라이프/카프카 2020. 1. 14. 20:21
들어가며 브로커의 장애는 카프카 운영에서 발생하는 가장 흔한 장애입니다. 이번 글은 브로커 장애로 발생할 수 있는 복제 파티션의 역할 변경과 Preferred Replica Election 방법에 대해 설명합니다. Preferred Replica Election Leader & Follower 토픽은 파티션 단위로 나눠지고, 파티션은 복제 계수(replication factor)에 따라 복제 파티션을 구성합니다. 복제 파티션들은 하나의 Leader(리더)와 그 외의 Follower(팔로워) 형태로 역할을 나눠 구성합니다. 리더 파티션은 복제된 파티션 중 유일하게 메세지 쓰기와 읽기 작업을 담당하여 수행하며, 팔로워들은 리더가 쓰기 작업을 완료한 메세지들을 복제(replication)합니다. 혹시 모를 장..
-
[Kafka 101] 컨슈머 그룹 리밸런싱 (Consumer Group Rebalance)개발자 라이프/카프카 2020. 1. 14. 20:11
들어가며 카프카를 운영하다 보면 여러 상황을 맞이하게 됩니다. 특히 성능 향상을 위해 특정 토픽의 파티션 수를 증가하거나 혹은 컨슈머 그룹에 컨슈머를 추가하는 경우가 있습니다. 하지만 운영 중인 카프카에 위와 같은 작업을 아무런 인정사정없이(?) 실시하면 일시적인 메시지 처리 불가 등 예상치 못한 상황을 맞이할 수 있습니다. 이와 관련된 것이 리밸런싱(Rebalance, Rebalancing)입니다. 본 글에서는 리밸런싱에 대해 알아보고, 어떤 상황에서 발생하는 지 알아봅니다. 그리고 나아가 관련한 유의점에 대해 설명합니다. Consumer Group Rebalance 1. 리밸런싱이란? 컨슈머 그룹 내의 컨슈머들은 자신들이 읽는 파티션의 소유권을 공유합니다. 즉, 하나의 컨슈머 그룹에서 컨슈머 A가 담..