IT Life

시놀로지 도커를 활용한 카프카 설치 및 메시지 전송 맛보기

2020 지구의 원더키디 2024. 2. 25. 18:32

시놀로지 NAS 를 활용하여 도커에 fedora 를 올리고 카프카 브로커 서버로 활용하고,

로컬 맥북에어를 카프카 컨슈머 서버로 활용하여 카프카 구동 관련한 맛보기 케이스를 경험 해 보았다.

 

사실 로컬의 다른 PC에 리눅스 가상머신을 올려서 카프카 브로커 서버로 활용할 수도 있으나,

시놀로지 NAS는 항상 켜져 있다는 특징, 그리고 NAS를 운용하고 있으니 멋있게 써 보고 싶다는 욕망까지 감안.

 

 

1) Docker에 fedora 혹은 centos 이미지 다운로드 및 컨테이너 추가

 

2) 컨테이너 포트 설정 (로컬포트 9092 -> 컨테이너포트 9092)

   - 컨테이너 위에서 마우스 우클릭 - 편집 - 포트설정

   - 포트 설정에서 로컬 포트 9092 / 컨테이너 포트 9092 로 입력 및 저장

 

 

3) 컨테이너 터미널 접속


3) fedora 의 경우, java 설치 및 wget 설치 (yum install wget)

 

4) 카프카 설치

 

5) 주키퍼 실행

 

6) 카프카 실행

 

7) 카프카 브로커 서버에서 topic 생성

kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic hello.kafka

 

8) 카프카 컨슈머 서버에서 카프카 브로커 서버 topic list 확인

kafka-topics.sh --list --bootstrap-server 192.168.0.6:9092 

- 시놀로지 접속 IP와 함께 2) 에서 설정한 포트 입력

- "Error connecting to node fedora1:9092" 에러 메시지 발생

 

9) 카프카 컨슈머 서버 hosts 파일 편집

- hosts 파일에 192.168.0.6 fedora1 추가

- 맥 터미널의 경우, sudo vi /private/etc/hosts

- fedora1 은 시놀로지 도커에서 생성 및 카프카를 설치한 브로커 서버의 컨테이너명

 

10-1) 카프카 컨슈머 서버에서 하기 명령어 실행
kafka-console-consumer.sh --topic hello.kafka --bootstrap-server 192.168.0.6:9092

- 실행 후, 대기


10-2) 카프카 브로커 서버에서 메시지 발행
kafka-console-producer.sh --topic hello.kafka --broker-list localhost:9092

- 브로커 서버에서 메시지를 발행 시도 하고 있으니, localhost 로 입력

- 실행 후, 메시지 입력 -> 카프카 컨슈머 서버의 터미널에서 메시지 표시되는 것 확인 완료