3.2.2. Apache Kafka
데이터 코어 모듈은 Apache Kafka broker의 토픽을 이용하여 데이터를 라우팅합니다. Kafka broker를 구동하기 위해서는 Apache Zookeeper가 필요합니다. Data manager 어플리케이션의 경우 kafka-rest-proxy를 이용하여 Kafka 토픽을 관리합니다. 본 장에서는 이들 모두를 설치하고 구동하는 방법을 설명합니다.
Apache Kafka는 데이터 코어 모듈이 배포되는 호스트에서 사용 가능하나 별도의 전용 호스트에서 구동하는 것을 권장합니다. 본 장에서 설명하는 모든 사항은 아래 환경을 가정합니다.
- OS: CentOS7
- 사용자 명: centos
- 사용자 홈 디렉토리: /home/centos
- 설치된 패키지: epel-release, java-1.8.0-openjdk, wget
- 환경변수: JAVA_HOME 구성됨
- Apache Kafka 배포 디렉토리: /home/centos/kafka
3.2.2.1. Confluent-community 다운로드 및 배포
# 홈 디렉토리 이동
$ cd ~
# 파일 다운로드
$ wget https://packages.confluent.io/archive/7.3/confluent-community-7.3.3.tar.gz
# 압축 해제
$ tar xfz confluent-community-7.3.3.tar.gz
# 디렉토리 수정
$ mv confluent-community-7.3.3 kafka
3.2.2.1. Zokeeper 구동
설정 파일 수정 (/home/centos/kafka/etc/kafka/zookeeper)
admin.serverPort=9090
Zookeeper 구동
$ cd /home/centos/broker/bin
$./zookeeper-server-start ../etc/kafka/zookeeper.properties | tee zookeeper.log &
3.2.2.2. Kafka Broker 구동
설정 파일 수정 (/home/centos/kafka/etc/kafka/server.properties)
advertised.listeners=PLAINTEXT://<Kafka를 구동하는 호스트의 IP>:9092
listener.security.protocol.map=PLAINTEXT:PLAINTEXTKafka Broker 구동
$ cd /home/centos/broker/bin
$ ./kafka-server-start ../etc/kafka/server.properties | tee kafka.log &
3.2.2.3. Kafka-rest 구동
설정 파일 수정 (/home/centos/kafka/etc/kafka-rest/kafka-rest.properties)
# ingest interface 포트와 다르게 설정(기본 값 8081로 설정되어 있음)
schema.registry.url=http://localhost:9081
# Zookeeper 접속 정보
zookeeper.connect=localhost:2181
# Kafka Broker 접속 주소 (kafka broker 설정 중 advertised.listeners 값)
bootstrap.servers=PLATINTEXT://<Kafka를 구동하는 호스트의 IP>:9092
# kafka-rest 접속 주소
listeners=http://0.0.0.0:9093Kafka-rest 구동
$ cd /home/centos/broker/bin
$ ./kafka-rest-start ../etc/kafka-rest/kafka-rest.properties | tee kafka-rest.log &