kafka(0.10.0.1) 설치 및 실행
kafka 설치 및 실행 방법(ubuntu 14.04 기준)
1. JAVA 설치
$ sudo add-apt-repository ppa:openjdk-r/ppa
$ sudo apt-get update
$ sudo apt-get install openjdk-8-jdk
2. kafka 설치 (/usr/local/ 디렉토리 내 설치 후 심볼링 링크 설정)
$ wget http://apache.mirror.cdnetworks.com/kafka/0.10.0.1/kafka_2.10-0.10.0.1.tgz
$ tar zxvf kafka_2.10-0.10.0.1.tgz
$ sudo cp -r kafka_2.10-0.10.0.1 /usr/local/
$ sudo ln -s /usr/local/kafka_2.10-0.10.0.1/ /usr/local/kafka
$ sudo mkdir -p /tmp/zookeeper
3. kafka broker 설정
$ vi {$KAFKA_HOME}/config/server.properties
- broker.id=0 부분의 0을 1이상으로 변경 (각 kafka broker 마다 id가 달라야 함)
- 로그를 저장하는 디렉토리 설정은 log.dirs=/tmp/kafka-logs 부분
- 참고. zookeeper 관련 설정변경은 {$KAFKA_HOME}/config/zookeeper.properties 파일
4. zookeeper 및 kafka broker 실행 / 중지 shell 생성
../usr/local/kafka$ vi kafka-start.sh
#!/bin/bash KAFKA_HOME=/usr/local/kafka $KAFKA_HOME/bin/kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties
../usr/local/kafka$ vi kafka-stop.sh
#!/bin/bash KAFKA_HOME=/usr/local/kafka $KAFKA_HOME/bin/kafka-server-stop.sh
../usr/local/kafka$ vi zk-start.sh
#!/bin/bash nohup bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
../usr/local/kafka$ vi zk-stop.sh
#!/bin/bash KAFKA_HOME=/usr/local/kafka $KAFKA_HOME/bin/zookeeper-server-stop.sh
5. zookeeper, kafka broker 실행
$ sudo ./zk-start.sh
$ sudo ./kafka-start.sh
6. topic 생성 및 테스트 (bin 디렉토리 내에서 실행)
6-1. topic 생성 (replication-factor 1, partitions 1)
$ ./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test_topic결과 Created topic "test_topic".
6-2. 생성된 topic 정보 조회
$ ./kafka-topics.sh --describe --zookeeper localhost:2181 --topic test_topic결과 Topic:test_topic PartitionCount:1 ReplicationFactor:1 Configs: <br> Topic: test_topic Partition: 0 Leader: 1 Replicas: 1 Isr: 1
6-3 토픽 내 메세지 생성 (produce / 종료는 ctrl + c) - LEADER_NOT_AVAILABLE 에러 발생 시 - 참고
$ ./kafka-console-producer.sh --broker-list localhost:9092 --topic test_topic(입력) message test
6-4 생성된 메세지 확인 (consume / 종료는 ctrl + c)
$ ./kafka-console-consumer.sh --zookeeper localhost:2181 --topic test_topic --from-beginning결과 message test Processed a total of 1 messages
6-5 토픽 삭제 (삭제 전 설정 변경 필요 - 참고)
$ ./kafka-topics.sh --delete --zookeeper localhost:2181 --topic test_topic
참고 사이트
kafka.apache.org : https://kafka.apache.org/quickstart
김용환님의 블로그 : http://knight76.tistory.com/entry/kafka-01011-%EC%84%A4%EC%B9%98