kafka
Kafka Cluster 구성 & Topic
TakTakTak
2021. 4. 19. 09:39
네이버 클라우드 플랫폼 VM 3대 구성
zookeeper 설치를 위해 아래 명령어로 zookeeper 3.4.12 압축파일을 다운받아 줍니다.
$ wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.12/zookeeper-3.4.12.tar.gz
다운받은 zookeeper 압축파일은 아래 명령어로 풀어줍니다.
$ tar xvf zookeeper-3.4.12.tar.gz
각 host별로 /etc/hosts를 설정해줘야 하는데요. 자기자신의 host는 0.0.0.0으로 설정하고 나머지 host는 ip로 할당되록 설정해줍니다.
// 만약 test-broker01인 경우
0.0.0.0 test-broker01
14.252.123.4 test-broker02
55.231.124.1 test-broker03
이제 zookeeper의 configuration을 설정해야합니다. zookeeper폴더내부의 conf폴더에 zoo.cfg파일을 생성하여 아래와 같이 configuration을 넣어줍니다.
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
initLimit=20
syncLimit=5
server.1=test-broker01:2888:3888
server.2=test-broker02:2888:3888
server.3=test-broker03:2888:3888
zookeeper 앙상블을 만들기 위해 각 zookeeper마다 myid라는 파일을 만들어줘야합니다. myid의 위치는 /var/lib/zookeeper/myid 이고, 해당 파일에는 숫자를 하나 넣으면 됩니다. test-broker01은 1, test-broker02는 2, test-broker03은 3 으로 지정합니다.
// 만약 test-broker01에서 실행한 경우 1이 나와야함
$ cat /var/lib/zookeeper/myid
1
Kafka 설치
zookeeper가 설치완료되었으니 이제 kafka를 다운받고 실행하겠습니다. 이번에 다운받아서 테스트할 버젼은 2.1.0입니다.
$ wget https://archive.apache.org/dist/kafka/2.1.0/kafka_2.11-2.1.0.tgz
마찬가지로 아래 명령어를 통해 압축을 풀어줍니다.
$ tar xvf kafka_2.11-2.1.0.tgz
kafka실행을 위해서 broker.id 설정, zookeeper에 대한 설정과 listener설정을 아래와 같이 설정합니다. 대상 파일은 kafka 폴더 내부에 config/server.properties 입니다.
// test-broker01인 경우 아래와 같이 설정합니다.
# The id of the broker. This must be set to a unique integer for each broker.
broker.id=0
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://test-broker01:9092
zookeeper.connect=test-broker01:2181,test-broker02:2181,test-broker03/test