728x90

1. es2 에서 다운받은 키에 권한 부여하고, (es2 키 설정 방법은 aws 카테고리에서 확인)

2. 퍼블릭 IP 주소로 접속하기 !

 

3. java dowmload

 

 

 

4. 카프카 실행하기 위해선 카프카 바이너리 파일을 다운받아야 하므로 

wget https://downloads.apache.org/kafka/2.7.0/kafka_2.12-2.7.0.tgz 로 긁어와서 설치, 후 tar xvf 로 압축 해제

 

 

컴파일된 바이너리까지 확인해주면 완성!

 

 

 

 

5.  카프카 heap 메모리 사이즈 조정. 카프카는 1G 의 메모리가 default 설정으로 되어있는데 우리가 aws에서 받은 t2.mcro가 1G램 이므로 실행되지 않을 것임. 그래서 환경변수를 직접 쳐서 변경해주기!

 

(카프카 heap? 카프카는 자바 기반의 JVM을 사용하는 애플리케이션이므로 메모리가 할당되는 영역인 힙(heap)이 만들어진다. )

 

 

환경변수 직접 변경. 1G 가 아닌 400메가로 카프카 힙 설정 했다는 것을 알 수 있다.

 

 

6. 접속을 위해 일부 설정을 변경해줘야 하는데, 

 

수정!

 

7.

7-1) listeners 두 줄 앞에 있는 주석을 제거해주고,

7-2) PLAINTEXT ://yourhost 칸에 public ip 넣어줌.

이 칸은 예를들면 '브로커에 너랑 통신하고싶어. 어느 포트로 통신하면 돼?' 할 때 ip 리턴해주는 값. 

 

카프카 브로커 아이디 =0 인데 원래는 각자 고유한거로 되어있어야 함! 지금은 일단 넘어가기 .

 

 

 

 

 

 

8. 카프카 실행 위해선 주키퍼가 필요함. 바이너리 다 준비 되어있으니 주키퍼 실행!

자바 프로세스 실행된 것 확인 가능. 주피퍼 메인 3781 떠져있는 것 확인 가능!

 

 

 

 

9. 카프카 실행하기

 

백그라운드로 카프카까지 실행 됨. 

 

 

 

 

10. 잘 실행되었는지 로그 확인 : tail -f logs/*

 

 

11. 로컬에서 퍼블릭 클라우드에 뜬 카프카 싱글브로커가 카프카 연동해서 토픽열어보고 데이터 넣어보기.

카프카 설치 !

!! 강의한 날짜와 지금 날짜가 달라 버전이 업데이트 되어서 업데이트 된 버전으로 다운받았다.

 

 

 

명령어가 있는 bin 폴더에 들어가서, 

 

12. 토픽 만들어보기 . 토픽 명은 test.

 

13. 토픽 데이터 넣어보기. String 데이터 토픽에 넣을 수 있다. 

 

 

 

14. 데이터 잘 들어갔나 확인해보기.

from biginning : 토픽에 있는 처음 오프셋부터 다 가져오라는 뜻!

화면 기록 2021-04-03 오전 1.04.53.mov
6.43MB

실시간 자동으로 찍히는 것 확인 가능 ㅎㅎ

 

 

15. 그룹에 테스트 그룹이라고 지정해서 테스트 하는 것. 

그런데 넣었던 순서가 다르다 !!! 컨슈머가 가져온 순서가 다르다.

파티션 세개를 만들었고 데이터 넣었는데 카프카 컨슈머가 파티션 세 개에 할당이 되는 것 뿐이지 가져가는건 순서가 없다.

파티션 한 개만 하면 들어간 순서대로 가져갈 수 있다. 

 

 

 

테스트 그룹 지정하면 처리했던 것 까지 컨슘하고 끝나고 다시 켜더라도 테스트 그룹은 처리한 것 이후부터 토픽에 데이터를 가져가서 출력한다.

테스트 그룹 생성 확인~!

밑에 있는건 위에서 테스트 그룹 없이 했을 때를 나타냄 

 

 

 

테스트 그룹의 상태 확인하기!

각각의 의미 : 

파티션 3개: 0,1,2 파티션 그룹이 가져갔다. 

컨슈머 오프셋 : 컨슈머가 몇번 오프셋까지 가져갔는지 알 수 있다. 

커런트 오프셋 : 가장 최근의 오프셋이 뭔지 확인 가능한다. 

컨슈머 랙 : 현재 컨슈머 오프셋, 현재 컨슈머 오프셋 차이. 랙이 많다 : 컨슈머가 실제 토픽의 데이터보다 느리게 처리하고 있다는 것. 처리 빨리빨리 못한다는 것을 반증하는 것이기 때문에 따로 관리하기도 함 .

오프셋 되돌리는 방법 : ./kafka-consumer-groups.sh --bootstrap-server {aws ec2 public ip}:9092 --group testgroup --topic test --reset-offsets --to-earliest --execute 

earlist : 가장 낮은 숫자의 오프셋으로 리셋해달라는 명령어!

 

특정 파티션만 고정하고 싶을 경우(오프셋 지정) : ./kafka-consumer-groups.sh --bootstrap-server {aws ec2 public ip}:9092 --group testgroup --topic test:1 --reset-offsets --to-offset 10 --execute

+ Recent posts