kafka 클러스터 구축

OS : Ubuntu 14.04

클러스터 1대 실행해서 테스트

kafka 다운받기
wget http://apache.tt.co.kr/kafka/0.8.2.0/kafka_2.10-0.8.2.0.tgz tar -xzf kafka_2.10-0.8.2.0.tgz
cd kafka_2.10-0.8.2.0/

zookeeper 구동
자바 먼저 설치
sudo apt-get install openjdk-7-jdk

zookeeper 실행
bin/zookeeper-server-start.sh config/zookeeper.properties

kafka 실행
bin/kafka-server-start.sh config/server.properties

Topic 생성하기
bin/kafka-topics.sh –create –zookeeper localhost:2181 –replication-factor 1 –partitions 1 –topic test

Topic 확인하기
bin/kafka-topics.sh –list –zookeeper localhost:2181

Topic에 메세지 보내기
bin/kafka-console-producer.sh –broker-list localhost:9092 –topic test This is a message
This is another message

Comsumer로 메세지 가져오기
bin/kafka-console-consumer.sh –zookeeper localhost:2181 –topic test –from-beginning

클러스터 3대로 확장해 보기 각서버에서 kafaka 다운받고, 자바 설치

zookeeper 설정 수정 config/zookeeper.properties 파일 내용 수정

dataDir=/tmp/zookeeper clientPort=2181 maxClientCnxns=0

initLimit=5

#zookeeper가 사용할 데이터 디렉토리 #zookeeper가 사용할 포트

#하나의 클라이언트에서 동시접속하는 개수 제한. 기본은 60. 0으로 두면 무제한. #하나의 zookeeper 리더에 연결해서 동기화하는 시간

노드별로 /tmp/zookeper/myid에 자신의 id 정보를 입력해서 자신이 어떤 노드인지 구분 echo 1 > /tmp/zookeeper/myid

각 노드에서 zookeeper 실행 bin/zookeeper-server-start.sh config/zookeeper.properties

kafka 설정 수정 config/server.properties 파일 내용 수정

kafka 실행
bin/kafka-server-start.sh config/server.properties

Topic 생성
bin/kafka-topics.sh –create –zookeeper kafka01:2181 –replication-factor 3 –partitions 10 –topic test01

Topic 리스트 확인
bin/kafka-topics.sh –list –zookeeper kafka01:2181

Topic 상세정보 확인
bin/kafka-topics.sh –describe –zookeeper kafka01:2181 –topic test01

Topic에 메세지 보내기
bin/kafka-console-producer.sh –broker-list kafka01:9092 –topic test01 test
test01

Topic에서 메세지 받기
bin/kafka-console-consumer.sh –zookeeper kafka01:2181 –topic test01 –from-beginning

참고
http://kafka.apache.org/documentation.html#quickstart http://epicdevs.com/20
http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html#sc_configuration