CDC 아키텍쳐를 이루는 debezium, kafka connect
·
DATA Engineering/Kafka
INTRO 해당 게시글은 Udemy의 Change Data Capture(CDC) using Debezium for MySQL 섹션 1을 보고 정리한 내용입니다. 내용상 오류가 있을수 있습니다. 댓글로 남겨주시면 확인 후 수정하겠습니다. 감사합니다! Debezium이 생기게 된 배경 기존 RDB&NOsql(MySQL, MongoDB, Cassandra…) → (Capture) ⇒ Big data System (e.g. HDFS…) Debezium의 특징 1. 이벤트 기반 으로 작동한다 2. 다양한 데이터기반 환경을 하나로 합칠수 있다 3. DB의 상태 혹은 진행사항을 지속적으로 모니터링하는것을 보장한다 4. Apache Kafka기반으로 만들어진거라 빠르다 Kafka Connect 컨셉 데이터 스트리밍을..
에러해결 : strimzi로 띄운 카프카 클러스터가 READY 가 안될때
·
DATA Engineering/Kafka
1. 증상 strimzi로 띄운 kafka cluster가 READY 상태로 안바뀌는것을 확인 2. 원인확인 원인확인을 위해서 describe를 확인했다 minikube kubectl -- describe kafka 원인은 현재 yaml파일에서 지정된 카프카의 버전은 3.4.0 인데, 현재 strimzi에서 지원되는 카프카 버전은 [3.2.0, 3.2.1, 3.2.3, 3.3.1] 이였던 것이다. 3. 해결방법 버전을 맞춰준다. 문제가 있는 카프카 클러스터를 제거 minikube kubectl -- delete -f cluster.yaml 카프카 버전을 바꿔준다 (기존 3.4.0 → 3.2.0 ) 재배포 하여 업데이트 시켜준다 minikube kubectl -- apply -f cluster.yaml 결..
Strimzi 로 Kafka Cluster 구축하기
·
DATA Engineering/Kafka
0. INTRO K8s환경(Minikube)을 대상으로 진행 HelmChart 를 사용한 Strimzi Opeator 사용 Kafka Cluster를 구축 1. Minikube 실행 minikube 실행 minikube start 2. Helm 설치 Helm 설치페이지에 접근 https://helm.sh/ko/docs/intro/install/ 해당 페이지에서 원하는 방식으로 설치 내가 추천하는 방식은 스크립트 기반의 설치 helm 설치되어있는지 확인 : helm 헬름 설치 이후 alias 설정(zsh쉘 기준) 설정파일 접근 : vi ~.zshrc alias h=’helm’ 입력 설정파일 저장 : source ~/.zshrc 3. 쿠버네티스 버전확인 버전확인하는 명령어 : kubectl version S..
카프카 토픽 생성, 프로듀서, 메세지, 삭제 명령어
·
DATA Engineering/Kafka
브로커 서버는 “server-01, server-02, server-03” 으로 지정 토픽 이름은 “test” 로 지정 콘솔에서 진행 #토픽 만들기 bin/kafka-topics.sh \ --bootstrap-server server-01:9092, server-02:9092, server-03:9092 \ --replication-factor 2 --partitions 3 \ --topic test --create #프로듀서로 토픽에 메세지보내기 bin/kafka-console-producer.sh \ --bootstrap-server server-01:9092, server-02:9092, server-03:9092 \ --topic test #컨슈머로 보낸메세지를 확인하기 bin/kafka-cons..
Kafka 토픽 생성, 콘솔 프로듀서, 콘솔 컨슈머, 컨슈머그룹 명령어
·
DATA Engineering/Kafka
kafka-topics.sh #만들겠다. 브로커서버는 kafka1이고. 복제본갯수는 3이며. 파티션갯수는 1개다. 토픽이름은 test-topic02다 --create --bootstrap-server kafka1:9092 --replication-factor 3 --partitions 1 --topic test-topic02 #지우겠다. 브로커서버는 kafka1이고. 토픽이름은 test-topic02다 --delete --bootstrap-server kafka1:9092 --topic test-topic02 #확인하겠다. 브로커서버는 kafka1이고. 토픽이름은 test-topic02다 --bootstrap-server kafka1:9092 --topic test-topic02 --describe #만..
Kafka에서 서버연결해서 메세지보내기
·
DATA Engineering/Kafka
이전 게시글 ‘AWS EC2에 Kafka 설치하기’의 다음 내용입니다. 서버1에서 서버2의 토픽을 만듭니다 /usr/local/kafka/bin/kafka-topics.sh \ --create \ --bootstrap-server kafka2:2181 \ --topic jjongguet2 서버2에서 console-consumer를 열어서 토픽을 받아들일 준비를 합니다 /usr/local/kafka/bin/kafka-console-consumer.sh \ --bootstrap-server kafka2:9092 \ --topic jjongguet2 이전에 존재하는 메세지가 존재한다면 --from-beginning 옵션을 써서 이전 데이터를 먼저 가져와도 무방합니다 서버1에서 console-producer를 ..
AWS EC2에 Kafka 설치 및 구축하기
·
DATA Engineering/Kafka
서버 구성 Amazon Linux 2 : Kernel 54.10, 64비트 인스턴스 : t2.medium 키페어 이름 : keypair (pem형식) Storage 1 x 50GB(GiB) 보안그룹이름 : peter-sg-kafka 유형 프로토콜 포트범위 소스 모든트래픽 모두 0-65535(전체) 사용자지정(Custom) 172.31.0.0/16 모든 TCP TCP 0-65535(전체) 내 IP(My IP) Server public private 연결 kafka1 3.83.193.229 172.31.84.60 ssh -i keypair.pem ec2-user@{public} kafka2 54.237.164.107 172.31.80.29 키페어 sudo chmod 600 keypair.pem 주의)루트유저..
Scalog 설명. 간단한 요약.
·
DATA Engineering/Kafka
주의 이 리뷰는 매우 낮은 수준에서 진행한 리뷰입니다. 가볍게 읽기를 권장하며, 관심있으신분들은 원본 자료를 찾아보시기를 권장합니다 *Scalog 논문 : https://www.usenix.org/conference/nsdi20/presentation/ding *발표영상 링크 : https://www.youtube.com/watch?v=pfpjKNZA-d4 NSDI '20 - Scalog: Seamless Reconfiguration and Total Order in a Scalable Shared Log Key point total order shared log → 분산환경에서도 로그가 안꼬여야하고 unusally scalable → 확장 가능성을 항상 염두해둬야하고 only totally shared..
Zero-copy 를 위한 노력. Zerializer: Towards Zero-Copy Serialization
·
DATA Engineering/Kafka
💡 주의! 해당 리뷰는 매우 낮은 수준에서 리뷰합니다. 실제 레퍼런스를 찾아보시기를 권장합니다. Reference RHOTOS 2021 학회에서 진행한 발표. USENIX워크샵 중 하나. 논문 : https://www.cs.yale.edu/homes/soule/pubs/hotos2021.pdf 자료 : https://www.youtube.com/watch?v=6ORl8nnd19A 독스 : https://zerial.readthedocs.io/en/latest/ Zero-copy와 Serializer-Deserializer Zero-Copy는 데이터 송수신하는 상황에서 데이터 복사본을 적게 만들고, 어플리케이션 영역과 커널영역을 적게 드나드는 것 을 목적으로 만들었다 그래서 데이터를 송신할때는 Serial..
Kafka 파티션 갯수를 늘일수있지만, 줄일수없는 이유 : InvalidPartitionsException
·
DATA Engineering/Kafka
선요약 Data처리량 증가에 대한 가장 빠른 해결방법은 Consumer와 Partition 갯수를 늘리는것이다 Partition 갯수를 늘릴수는 있지만, 줄일수는 없다. Partition을 제거하게되면, 제거된 Partition의 Segment를 재배치 해줘야한다. Segment를 재배치 하는 리소스가 복합적으로 너무 방대해서, 해당 기능을 제공하고있지 않다. 이 내용은 인프런 데브원영 강의. 아파치 카프카 애플리케이션 프로그래밍 강의 중, 챕터4에서 나온 내용입니다. 문제상황 kafka-topics.sh 를 사용하여 토픽을 생성합니다. 따로 옵션을 수정하지 않아서 기본옵션으로 생성됩니다. 이후 alter 옵션을 사용하여 Partition의 갯수를 10개로 늘립니다 이 부분은 카프카의 핵심입니다. Dat..
jjongguet
'DATA Engineering/Kafka' 카테고리의 글 목록