본문 바로가기
백엔드 개발 이모저모/kafka by python

01. apache kafka 다운받아서 서버 실행시키기

by 코딩균 2022. 1. 21.

다운로드해서 실행해볼 서버

  • apache kafka
  • zookeeper

 

zookeeper란?

분산 코디네이션 서비스를 제공하는 오픈소스 프로젝트

하나의 컴퓨터에서 어플리케이션을 돌리는 것이 아니라 요즘은 여러 컴퓨터에서 어플리케이션을 돌리는 경우가 생김

온라인 쇼핑몰의 MSA (Micro Service Architecture) 같은 경우

  • 컴퓨터1 - 결제 로직 어플리케이션
  • 컴퓨터2 - 상품 관리 로직 어플리케이션
  • 컴퓨터3 - 회원 관련 로직 어플리케이션

 

이렇게 하나의 서비스에 들어가는 기능들을 다른 컴퓨터에 micro service 단위로 분리해 놓은 것이다. 

분산되어 있는 어플리케이션들이 공유 자원에 대해 서로 조율이 잘되어야 하는데 

이러한 조율을 해주는 어플리케이션이 zookeeper

( 비즈니스 어플리케이션 로직 하는데에도 바쁜데 어플리케이션들을 코디네이팅 하는 코드까지 짜려니 힘들어서 이러한 코디네이션 서비스 어플리케이션이 나왔댄다)

 

역할

  • 어플리케이션들이 공유하고 있는 자원 (클러스터)에 대한 write 관리
  • 어플리케이션들이 공유하고 있는 자원 (클러스터)에 대한 race condition 관리
  • 설정 정보 관리 (configuration)

등등 여러가지가 있어보이지만 난 초심자이기 떄문에 여기까지..! 

나중에 zookeeper에 대해서 정리해보려고 북마크에 추가해놨다

 

 

 

1. apache kafka 다운 받기

wget을 통해 다운받을 수 있다

https://kafka.apache.org/quickstart

 

Apache Kafka

Apache Kafka: A Distributed Streaming Platform.

kafka.apache.org

 

2. apache kafka 설정

설정 파일을 열어서 아래 부분을 주석 해제해준다

/config/zookeeper.properties

나는 내 컴퓨터에서 kafka를 실행시킬 것이기 때문에 ip부분에 localhost라고 표기

추후 만약 다른 서버의 data를 kafka가 받게 하려면 해당 서버의 ip를 쓰면 됨

 

3. config 적용하여 zookeeper 실행

(zookeeper.properties는 수정할 것이 없다)

실행된 zookeeper : port 2181

2181 port를 가지고 프로세스가 생성되었음을 확인할 수 있다

 

 

4. config 적용하여 kafka 실행

실행된 kafka : port 9092

kafka는 port번호를 9092를 가지고 있다

 

모두 java8이 설치되어있어야 한다고 한다!