[Kafka]_실전 응용 환경 적용_(kafka 1대, consumer,producer 분리)
개발환경]
서버 : wsl2로 설치한 Centos , Window
* virtual box 로 Linux 설치하여도 무방함
Zookeeper 실행 -> Centos 서버
Kafka 서버 실행 -> Centos 서버
Consumer, Producer -> window 서버
구상도]
위의 Ip 는 가상이며,
Cluster 의 경우 서버가 총 3대 이상이 필요하다,
필자는 한대만 사용하였고, kafka 와 zookeeper 는 같은 Ip 주소를 가지는 Centos 에서 실행함.
Consumer 와 Producer 도 같은 Ip를 가지는 window 환경에서 접근한다 ,
Consumer 와 Producer 는 다른 Ip 여도 접근방법은 동일함.
wsl2 로 window 환경에서 설치하는 방법은 다음 포스트 참고
https://yn971106.tistory.com/73?category=1003066
[Docker]_Infra 구축_(feat. Centos7, wsl2)
목표 ] Window 환경에서 CentOS7 을 WSL2 환경에 실행후 해당 CentOS7 안에 Docker 실행하기. Docker 란? 경량 가상화 기술이며 리눅스 컨테이너를 기반으로 이미지를 기준으로 프로세스를 격리하여
yn971106.tistory.com
같은 서버에서 메세지 전송구축 밑 기본지식은 다음 포스트 참고]
https://yn971106.tistory.com/80
[Kafka]_Kafka 의 개념과, 사용 의의
Kafka 소개] 2011년 LinkedIn에서 개발된 분산 메시징 시스템이며 2014년 아파치를 통해 오픈 소스화 주요기능] Producer : 메시지를 보내는 자 consumer : 메시지를 받는자 의 모델로 이루어저 있다 고가용
yn971106.tistory.com
https://yn971106.tistory.com/81
[Kafka]_설치 와 메세지 전송 테스트
개발환경] 서버 : wsl2로 설치한 Centos * virtual box 로 Linux 설치하여도 무방함 zookeeper , kafka , producer , consumer 전부 하나의 centos 에서 실행함 wsl2 로 window 환경에서 설치하는 방법은 다음 포..
yn971106.tistory.com
위의 포스트를 읽고 온 뒤라 생각하고 진행하였음
비고]
1. 만약 cluster 환경 구축시 -> zookeeper 를 3번 깔아야 하며, zookeeper 서버 설정을 따로 해줘야 함.
2. 필자는 하나의 zookeeper 만 사용하였기 때문에 zookeeper.properties 수정 안함.
3. 대신 localhost 접속이 아니라 kafka 를 설치하고 구동한 Ip를 토대로 consumer 와 producer 가 붙을거기 때문에,
server.properties 파일 수정해야 함.
시작]
1. server.properties 수정
Centos 에 kafka 파일을 압축 해제한 경로-> config -> serverproperties 수정
$ vi server.properties
위의 명령어 입력시 아래로 내리다 보면, Soket 부분이 있다.
해당 부분에서 listener 를 따로 핸들링 하지 않으면 localhost로 붙는 것이고
다른 서버에서 ip를 통해 접근할 것이기 때문에 하단에 아래의 문구를 추가한다
advertised.listeners=PLAINTEXT://여러분의 Ip 주소:9092
Ip는 kafka 서버를 열 곳의 IP 주소이다.
해당 설정을 하고 wq! 로 빠져나온다.
2. zookeeper , kafka 실행
Centos 콘솔을 2개를 열고 각각의 콘솔에
$ bin/zookeeper-server-start.sh config/zookeeper.properties
$ bin/kafka-server-start.sh config/server.properties
명령어로 실행시킨다.
3. Window 에서 Producer, Consumer 실행
우선 Kafka 파일을 다운로드 받고 적절한 위치에 압축을 해제한다.
https://kafka.apache.org/downloads
Apache Kafka
Apache Kafka: A Distributed Streaming Platform.
kafka.apache.org
단, 압축을 풀면 파일명이 길어져서
너무 길다는 오류 메세지를 뿜을 수 있기 때문에 먼저
kakfa_2.13-3.1.0 파일을 kafka 디렉토리명으로 변경한뒤 접근한다.
윈도우의 경우
bin 폴더 안에 windows 폴더로 진입해야 한다.
4. Topic 생성
위의 위치에서 다음 명령어를 실행한다
$ .\kafka-topics.bat --create --bootstrap-server 아까 입력한 Ip 주소:9092 --topic windowtopic
Producer]
$ .\kafka-console-producer.bat --broker-list 아까 입력한 IP주소:9092 --topic windowtopic
Consumer]
새로운 콘솔을 열고, 위와 같은 경로로 진입
$ .\kafka-console-consumer.bat --bootstrap-server 아까 입력한 IP주소:9092 --topic windowtopic --from-beginning
통신화면]
Producer
Consumer
감사합니다.
Consumer 나 Producer를 Centos 에 위치시켜도 되고 서로 교차 통신도 같은 원리로 작동합니다.
감사합니다.