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 #zookeeper가 사용할 데이터 디렉토리
clientPort=2181 #zookeeper가 사용할 포트
maxClientCnxns=0 #하나의 클라이언트에서 동시접속하는 개수 제한. 기본은 60. 0으로 두면 무제한.
initLimit=5 #하나의 zookeeper 리더에 연결해서 동기화하는 시간
syncLimit=2 #리더가 아닌 zookeeper 노드가 리더와 동기화하는 시간
server.1=kafka01:2888:3888 #server.id=host:port:port
server.2=kafka02:2888:3888 #server.id=host:port:port
server.3=kafka03:2888:3888 #server.id=host:port:port
|
노드별로 /tmp/zookeper/myid에 자신의 id 정보를 입력해서 자신이 어떤 노드인지 구분
echo 1 > /tmp/zookeeper/myid
각 노드에서 zookeeper 실행
bin/zookeeper-server-start.sh config/zookeeper.properties
kafka 설정 수정
config/server.properties 파일 내용 수정
broker.id=0 #각 노드별로 ID 지정
zookeeper.connect=kafka01:2182,kafka02:2182,kafka03:2182 #zookeeper 서버 설정
|
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
참고