Skip to content

2주차 실습 #5

@shinhyuk2

Description

@shinhyuk2

2025-kafka-flink-data-study

먼저 kafka-lab 파일 통째로 다운 받는 방법을 모르겠어서 폴더안에 있는 파일들을 각각 다운받아 바탕화면에 저장했습니다.

스크린샷 2025-07-29 오전 8 58 48

이 명령어를 터미널에 입력했더니 zsh: command not found: brew 라는 오류 문구 -> 챗지피티한테 물어보니 Docker를 다운받아야 한다고 해서 링크 알려준대로 다운 받았습니다.
그리고나서 명령어를 다시 입력했더니 또 오류문구가 떠서 재질문

스크린샷 2025-07-29 오전 9 02 44

알려준대로 복붙했더니 정상적으로 다운로드 완료

스크린샷 2025-07-29 오전 9 05 11

(사실 잘 되고 있는건지 잘 모르겠음)

스크린샷 2025-07-29 오전 9 37 04

바탕화면에 다운 받아놨던 docker-compose 파일로부터 잘 다운 받고 있는 듯?

스크린샷 2025-07-29 오후 12 18 22

python 환경설정 해주기

스크린샷 2025-07-29 오후 12 19 54

kafka 클러스터 시작 부분에서의 docker compose 실행

스크린샷 2025-07-29 오후 12 21 59

user-singups 토픽을 3개의 파티션으로 생성

스크린샷 2025-07-29 오후 12 24 17

수업 때 봤던대로 2초마다 새로운 사용자 가입 이벤트를 생성하여 Kafka 토픽으로 전송

스크린샷 2025-07-29 오후 12 25 04

잘 되는 것 같다

consumer 실행 부분에서 터미널 새 탭을 열라고 해서 뭔 말인지 몰라서 지피티한테 물어보니...

스크린샷 2025-07-29 오후 12 29 56

친절하게 잘 알려줬다. 단축키로 새 탭 만드는 방법까지 알려줘서 잘 열었다

스크린샷 2025-07-29 오후 12 44 43

음... 새 탭을 만들어서 명령어 입력할 때마다 members의 수가 늘어나는 것은 파악했는데 그 외에는 뭐가 바뀌는지 모르겠음...
onsumer.py를 여러 터미널에서 실행하여 컨슈머 그룹 내에서 파티션이 어떻게 분배되는지 관찰합니다.
Kafka UI에서 각 컨슈머가 어떤 파티션에 할당되었는지 확인합니다.
이 두개를 확인 해야하는데 어디서 확인을 하는 것인지 내가 모르는건지 확인 못하겠음

스크린샷 2025-07-29 오후 12 56 15

클러스터 종료하니까 열었던 새 탭들 까지도 메시지 출력이 되면서 잘 꺼지고 있는 듯 하다


                                                                   추가 학습
Image

git clone 명령어를 사용해서 파일 다운로드 받아봤습니다

실습 시나리오 1
Image

탭 하나 만들어서 consumer 생성, 비교를 위해 스크린샷

Image consumer 두개인 경우 partition 0번과 1번은 같은 컨슈머에 할당되어있고 2번은 다른 consumer에 할당 Image consumer가 3개인 경우 각 파티션마다 다른 컨슈머에 할당이 되어있다 Image 컨슈머가 4개인 경우 변화된게 없다. 새로 생긴 컨슈머는 아무것도 안하는 것?

실습시나리오 2

Image

먼저 acks 를 0으로 바꿨다

Image Image

그리고 실행을 시켜봤는데...

Image 뭐가 달라진지 잘 모르겠다... 장우님 노션을 보면 갯수도 셀 수 있고 데이터가 유실됐음을 알 수 있다는데 흠.. 잘 모르겠다 Image Image

뭔가 프로듀서 터미널에서 컨트롤c를 했는데도 전송...? 되는 출력이 떠서 이건가? 싶어서 샘플 갯수를 줄여서 프로듀서 전송 횟수랑 컨슈머 횟수를 세보았더니 컨슈머는 9개고, 프로듀서는 8개인데 컨트롤c이후 까지 합치면 9개다 이게 데이터 유실이 되었다고 하는건가?

all 로 바꾸고 해봤는데도 똑같은걸 보니 이건 아닌듯 싶다... 그냥 전송중이던 데이터가 마저 넘어간건가...
모르겠다 ㅜㅜ...

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions