본문 바로가기

Kafka5

Kafka Cluster 구성 구성: Zookeeper 3개 Kafka 3개 1 설치 Kafka 설치는 아래 페이지 참조 Kafka는 Zookeeper와 함께 실행되기 떄문에 위 설치 방법을 따라가면 Zookeeper도 함께 설치함 단일 서버라면 위 처럼 한 개만 설치하고, 분산 서버라면 각각 설치할 것 2 Zookeeper 설정 위 kafka_2.12-2.95.0/config 폴더안에 zookeeper.properties 파일이 Zookeeper 설정 파일임 분산 서버라면 각 서버 마다 zookeeper.properties파일 한개를 각각 아래와 같이 server host만 변경하고 나머진 동일하게 수정하여 사용 하고, 단일 서버에서는 zookeeper.properties파일을 여러개 생성(Copy)하여 아래 설명처럼 clientP.. 2022. 1. 14.
Kafka Connect API 명령어 정리 카프카 커넥트는 기본적으로 localhost:8083 주소를 사용한다. 요청 메소드 호출 경로 설명 GET / 실행 중인 커넥트 정보 확인 GET /connectors 실행중인 커넥트 이름 확인 POST /connectors 새로운 커넥터 생성 요청 GET /connectors/{커넥트 이름} 실행 중인 커넥터 정보 확인 GET /connectors/{커넥트 이름}/config 실행 중인 커넥터의 설정값 확인 PUT /connectors/{커넥터 이름}/config 실행 중인 커넥터 설정값 변경 요청 GET /connectors/{커넥터 이름}/status 실행 중인 커넥터 상태 확인 POST /connectors/{커넥터 이름}/restart 실행 중인 커넥터 재시작 요청 PUT /connectors/.. 2021. 11. 27.
Kafka auto commit Kafka는 읽어들인 페이로드를 어디까지 읽었는지 자동으로 commit할 수 있는 auto.commit 옵션이 있다. enable.auto.commit = true auto.commit.interval.ms = ms 위 두 옵션을 통해 설정을 하는데 이 옵션이 편리해 보이지만 메세지를 중복 혹은 손실할 가능성이 생긴다. 가장 큰 이유는 카프카 컨슈머 그룹의 '리밸런싱' 과정에서 생기는데, 먼저 리밸런싱이 무엇인지 간략하게 설명하자면 카프카의 토픽의 파티션은 컨슈머 그룹의 컨슈머가 '독점'하는 형식이다. 만약 그룹내의 한 컨슈머가 문제가 발생한다면 해당 그룹은 파티션 하나 혹은 그이상을 이용할 수 없는 상태가 된다. 그렇게 된다면 메세지의 순서가 틀리게 되고, 서비스 장애로 이어질 수 있다. 그래서 카프카.. 2021. 11. 23.
kafka cli 명령어 정리 Topic 명령어 설명 비고 bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --partition 4 --replication-factor 1 --topic 토픽 이름 토픽 생성 bin/kafka-topics.sh --bootstrap-server localhost:9092 --topic 토픽이름 --alter --partitions 5 파티션 수 변경 실행중에 파티션 수 감소는 불가 bin/kafka-topics.sh --bootstrap-server localhost:9092 --topic 토픽이름 --alter --add-config 설정=설정값 토픽 옵션 추가 기존 옵션 존재시 변경하지 않음 bin/kafka-topics.sh --b.. 2021. 8. 6.
Kafka 기초개념 - 전체적인 개념 전체적인 개념을 설명하고 다음 글 부터 한 부분씩 자세히 볼 것 What is Kafka? 카프카란 데이터를 다루기 위한 미들웨어다. Kafka 데이터 모델, 저장 소비 방식 Topic, Partition 카프카는 Pub/Sub 모델(발행 구독 모델)을 사용한다. Pub/Sub 이란 메세지 혹은 데이터를 제공하는 Publisher와 메세지 혹은 데이터를 소비하는 Consumer가 존재하여 데이터를 주고 받는 모델이다. 카프카는 Publisher가 제공한 데이터를 가지고 있고, Consumer는 카프카에서 데이터를 직접 가져오는 방식이다. Consumer가 직접 가져올 때의 이점 다양한 Consumer를 고려하지 않아도 된다. → Consumer가 다양하고, 카프카에서 데이터를 직접 보내주는 상황이라면 각.. 2021. 7. 8.