[java] 자바로 카프카 클러스터 설정하기

카프카는 대규모 데이터 스트리밍을 처리하기 위한 분산 메시징 플랫폼으로 유명한 Apache 소프트웨어 재단의 프로젝트입니다. 자바로 카프카 클러스터를 설정하는 방법에 대해 알아보겠습니다.

1. ZooKeeper 설치 및 실행

카프카는 ZooKeeper를 사용하여 클러스터의 상태를 관리합니다. 먼저 ZooKeeper를 설치하고 실행해야 합니다.

$ wget https://zookeeper.apache.org/releases/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz
$ tar -xzf apache-zookeeper-3.6.3-bin.tar.gz
$ cd apache-zookeeper-3.6.3-bin
$ cp conf/zoo_sample.cfg conf/zoo.cfg
$ ./bin/zkServer.sh start

2. 카프카 다운로드 및 설치

다음으로 카프카를 다운로드하고 설치해야 합니다.

$ wget https://downloads.apache.org/kafka/2.8.0/kafka_2.13-2.8.0.tgz
$ tar -xzf kafka_2.13-2.8.0.tgz
$ cd kafka_2.13-2.8.0

3. 카프카 클러스터 설정 파일 수정

카프카 클러스터의 설정을 위해 config/server.properties 파일을 수정해야 합니다. 필요한 설정을 찾아서 주석을 제거하고 값을 설정해주시면 됩니다.

$ vi config/server.properties

4. 카프카 서버 실행

카프카 서버를 실행하기 전에 ZooKeeper가 정상적으로 실행 중인지 확인해야 합니다.

$ ./bin/kafka-server-start.sh config/server.properties

5. 클러스터 추가 및 브로커 복제

클러스터에 추가하려면 카프카 서버가 실행 중이어야 합니다. 다음 명령을 사용하여 브로커를 추가하고 복제할 수 있습니다.

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

6. 카프카 프로듀서 및 컨슈머 테스트

마지막으로 카프카 클러스터를 테스트해 보겠습니다. 다음 명령으로 프로듀서와 컨슈머를 실행할 수 있습니다.

# 프로듀서 실행
$ ./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic mytopic

# 컨슈머 실행
$ ./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic mytopic --from-beginning

이제 자바로 카프카 클러스터를 설정하고 테스트할 수 있는 준비가 됐습니다. 카프카의 다양한 기능을 사용하여 대규모 데이터 스트리밍을 처리할 수 있습니다.

더 자세한 내용은 카프카 공식 문서를 참조하시기 바랍니다.