반응형

1. 서론

이번 포스팅에서는 카프카 설치하는 방법을 튜토리얼처럼 정리하려고 합니다.

중간중간, 용어가 이해가지 않는 분들은 카프카란? 을 보고오시면 좋을거 같습니다.

 

2. 설치

설치는 최근 카프카를 주도적으로 이끌고 있는 confluent를 사용하여 진행하도록 하겠습니다.

 

confluent에서는 설치 방법을 다양하게 제공합니다. 그 중 저는 tar를 이용하여 진행하도록 하겠습니다.

그리고, ~/apps 경로에서 작업하겠습니다.

 

1) confluent-community tar 파일 다운로드

 

  • 카프카, 주키퍼만을 설치할 예정으로 community를 다운받도록 하겠습니다.
  • 현재 기준 최신인 5.4.0 버전을 다운받겠습니다.
curl -O http://packages.confluent.io/archive/5.4/confluent-community-5.4.0-2.12.tar.gz

 

2) 파일 해제

tar -zxvf confluent-community-5.4.0-2.12.tar.gz

 

 

 

 

 

 

반응형

 

 

 

 

 

 

 

3) zookeeper.properties 파일 수정

  • 파일 경로 = ~/apps/confluent-5.4.0/etc/kafka/zookeeper.properties
  • 아래는 confluent에서 가이드 되어있는 부분 중 dataDir, server.* 만 수정한 사진입니다.

  • server.* 에는 앙상블을 이룰 서버의 ip 혹은 hostname을 적습니다.
    • confluent에서는 server.<myid>=<hostname>:<leaderport>:<electionport> 형식으로 가이드 되어있습니다.
  • dataDir에는 zookeeper의 데이터를 담는 경로를 지정합니다.
    • 저의 경우에는 ~/zookeeper 경로를 만들어 지정하였습니다.
    • dataDir 경로에는 server.* 에 지정한 번호값이 myid 파일로 존재해야 합니다.
    • 아래 사진의 경우에는 앙상블 1번 서버의 myid 파일을 cat으로 확인한 사진입니다.

4) server.properties 파일 수정

  • 파일 경로 = ~/apps/confluent-5.4.0/etc/kafka/server.properties
  • broker.id, log.dirs, zookeeper.connect 3개의 값을 변경해줍니다.
    • broker.id는 unique 해야합니다.
    • log.dirs는 카프카관련 로그 경로를 지정해줍니다. (저의 경우 ~에 kafka 디렉토리를 만들어 지정하였습니다.)
    • zookeeper.connect의 경우에는 앙상블 서버들을 ',' 구분자로 이어줍니다. (port는 zookeeper.properties파일에 정의한 clientPort를 지정합니다)
broker.id=1
log.dirs=~/kafka/kafka-logs
zookeeper.connect=zookeeper-server-1:2181,zookeeper-server-2:2181,zookeeper-server-3:2181

 

5) zookeeper 실행

 

주키퍼 실행은 아래와 같습니다.

  • bin 디렉토리에 있는 zookeeper-server-start 명령어를 수행합니다.
  • 명령어 수행 시 인자로는 위에서 정의한 zookeeper.properties 파일 경로를 제공합니다.
~/apps/confluent-5.4.0/bin/zookeeper-server-start ~/apps/confluent-5.4.0/etc/kafka/zookeeper.properties

 

6) broker 실행

 

브로커 실행은 아래와 같습니다.

  • bin 디렉토리에 있는 kafka-server-start 명령어를 수행합니다.
  • 명령어 수행 시 인자로는 위에서 정의한 server.properties 파일 경로를 제공합니다.
~/apps/confluent-5.4.0/bin/kafka-server-start ~/apps/confluent-5.4.0/etc/kafka/server.properties

 

 

3. 마무리

설치는 비교적 간단하게 이루어졌습니다.

다음 포스팅에서는 설치를 하였으니, 간단하게 CLI 기반의 사용예제를 진행하도록 하겠습니다.

 

* 참고

실행 시 에러 로그들이 보일텐데, 이것은 각 노드들이 아직 연결이 안되었기 때문에 나는 로그입니다.

각 노드들을 실행해도 난다면 설정 파일에 잘못된것이 있는지 다시 한번 확인하시기 바랍니다.

반응형

+ Recent posts