프로그래밍(Web)/업무관련

[바미] Kafka 서버 설치 및 실행하기.

Bami 2021. 6. 24. 11:05
728x90
반응형

https://kafka.apache.org/downloads 

 

Apache Kafka

Apache Kafka: A Distributed Streaming Platform.

kafka.apache.org

위 링크에서 다운로드를 진행 하시면 되는데요 src가 아니라 Binary 다운로드를 진행해야 해요!

 

오늘 기준으로 2.8.0이 가장 최근 버전이네요!

카프카 다운로드 화면

이 후에 다운로드를 받게 되면 윈도우 전용 폴더가 생기는데요. 

 

이 압축 파일을 C드라이브에 풀어줍시다.

 

먼저 zookeeper 를 실행 시켜야 하는데 그 이유는 zookeeper가 카프카를 관리해주기 때문에 zookeeper가 먼저 실행 되야

카프카가 실행 할 수 있습니다. 

C:\카프카설치경로\bin\windows\zookeeper-server-start.bat C:\카프카설치경로\config\zookeeper.properties

로 실행시켜주시면 됩니다.

 

저 같은 경우엔 카프카 설치 경로에 들어가서 실행해서 조금 다를 수 있다는점 참고 해주세요.

zookeeper 실행 화면

그 후에 카프카를 실행 시켜 줍시다.

C:\카프카설치경로\bin\windows\kafka-server-start.bat C:\카프카설치경로\config\server.properties

카프카 실행 화면

그 후 Topic 이라는 것을 생성 해야 하는데요.

토픽은 카프카서버에 데이터를 저장하는 공간 이라고 생각하시면 돼요.

토픽을 생성해야 해당 토픽으로 producer가 데이터를 전송하고 consumer는 토픽을 통해 데이터를 가져와요.

C:\카프카 설치 폴더\bin\windows>kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic [생성하실 토픽이름]

그 후에 있을 부분은 카프카설치폴더\bin\windows경로에 들어가셔서 하시면 좀 더 편한데요. (전체 경로로 하셔도 무방합니다.)

 

이제 부터 Consumer 와 Producer 를 생성할 것인데요.

먼저 아까 생성했던 토픽이 제대로 생성이 되었는지 확인해봅시다.

kafka-topics.bat --list --zookeeper localhost:2181

그 후 Consumer 생성을 진행해보죠.

kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic [토픽이름]

Consumer 화면

테스트를 위해 닫지 마시구요. 다른 CMD창을 여셔서 Producer 를 생성해봅시다.

 

그 후 

kafka-console-producer.bat --broker-list localhost:9092 --topic [토픽 이름]

을 입력하여 producer를 실행시켜줍니다. 그러면 입력할 수 있는 상태로 변하게 되는데요. 이 때 전송되는 메세지가 Consumer에게 전달됩니다.

테스트를 해볼까요?

 

정상적으로 실행 되는 것을 볼 수 있습니다.

다만 한글은 깨지네요 ㅎㅎ


리눅스 환경에서 할 경우 조금 다릅니다.

우선 kafka를 다운받아 봅시다.

wget http://apache.mirror.cdnetworks.com/kafka/2.8.0/kafka\_2.12-2.8.0.tgz
tar -zxvf kafka 2.12-2.8.0.tgz

tar 명령어로 압축을 풀어준 뒤 원하는 디렉토리로 옮겨 줍니다.

mv ./kafka\_2.12-2.8.0.tgz /usr/local/lib/kafka

 

이제 kafka 디렉토리로 이동해봅시다.

cd /usr/local/lib/kafka/

윈도우와 마찬가지로 zookeeper 서버를 실행 해줍니다.

bin/zookeeper-server-start.sh config/zookeeper.properties

혹시나 

INFO binding to port 0.0.0.0/0.0.0.0:2181(org.apache.zookeeper.server.NIOServerCnxnFactory

이러한 메세지가 떴다면 당황하지말고 kakfa server properties파일에 들어가 변경해줍시다.

vi ./config/server.properties

이렇게 해서 들어가보면

\# 변경전

#listeners=PLAINTEXT://:9092

zookeeper.connect=localhost:2181

\# 변경후

#listeners=PLAINTEXT://{호스트}:9092

zookeeper.connect={host}:2181

위와 같이 변경해 줍시다.

 

그 후 방화벽 포트 열어 설정을 해줍니다.

iptables -I INPUT 1 -p tcp --dport 2181-j ACCEPT

iptables -I INPUT 1 -p tcp --dport 9092 -j ACCEPT

service iptables save

vi /etc/sysconfig/iptables

service iptables restart

그 후 Topic을 생성 해줍시다.

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic bami-kafka

이렇게 뜨면 된겁니다.

Created topic kafka-test.

그 다음 Producer를 생성 해줍니다.

bin/kafka-console-producer.sh --broker-list localhost:9092 -topic bami-kafka

그 다음 다른 창을 열어 Consumer를 생성해줍니다.

bin/kafka-console-consumer.sh --broker-list localhost:9092 -topic bami-kafka

 

이렇게 하면 linux 버전도 설치와 실행이 끝이 났습니다.

 

이상 WIndows 버전과 Linux 버전 설정, 실행 방법에 대해 알아봤습니다! 도움이 되셨길 바랍니다

728x90
반응형