CentOS에 Apache Kafka를 설치하는 방법에 대하여 알아봅니다.
공식 홈페이지
java 설치
kafka는 Java기반에서 동작하므로 현재버전 확인 후 Java8 이상을 설치합니다.
$ java -version $ sudo yum install java-1.8.0-openjdk.x86_64
Kafka 다운로드 및 압축해제
$ wget http://apache.tt.co.kr/kafka/2.2.0/kafka_2.12-2.2.0.tgz $ tar -xzf kafka_2.12-2.2.0.tgz $ cd kafka_2.12-2.2.0/
Start Zookeeper
Kafka는 분산 처리를 위해 Zookeer를 사용하므로 아래와 같이 Zookeeper 면저 실행합니다.
$ cd bin $ sh zookeeper-server-start.sh -daemon ../config/zookeeper.properties
Kafka Configuration
서버의 성능에 맞게 JVM 최대 최소 힙 메모리 사이즈를 조정합니다.
$ vi kafka-server-start.sh export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
Start Kafka Server
$ sh kafka-server-start.sh -daemon ../config/server.properties
Kafka 테스트
토픽 생성 및 확인 – “TopicHello”
$ sh kafka-topics.sh --create --bootstrap-server localhost:2181 --replication-factor 1 --partitions 1 --topic TopicHello Created topic TopicHello. // Topic 확인 $ sh kafka-topics.sh --list --bootstrap-server localhost:2181 TopicHello
“TopicHello” 에 Message 발행
$ sh kafka-console-producer.sh --broker-list localhost:9092 --topic TopicHello >Welcome to Hello Kafka >Have a nice day!
발행된 Topic Message 소비
새로운 터미널을 하나 더 생성하고 Consumer를 실행합니다. 이때 –from-beginning 옵션을 주면 Topic의 최초 Message부터 다 읽어옵니다. 옵션을 생략하면 Cosumer 실행 이후 발행된 메시지만 읽어옵니다.
$ cd kafka_2.12-2.2.0/bin/ $ sh kafka-console-consumer.sh --zookeeper localhost:2181 --topic TopicHello --from-beginning Welcome to Hello Kafka Have a nice day!