티스토리 뷰

IT

Kafka Clustering

K.Nero 2017. 8. 17. 10:37

Zookeeper 설정

conf/zookeeper.properties

* zookeeper 데이터 저장 위치
dataDir=D:/kafka_2.11-0.11.0.0/temp/zookeeper

* kafka 가 접속할 포트
clientPort=2181

* 하나의 클라이언트에 동시접속하는 개수 제한 기본 60 이며 0은 무제한
maxClientCnxns=0

* 하나의 zookeeper 리더에 연결해서 동기화 하는 시간
initLimit=5

* 리더가 아닌 zookeeper 노드가 리더와 동기화 하는 시간
syncLimit=2

* zookeeper 서로 간의 통신을 하기 위한 포트
server.1=192.168.0.1:2888:3888
server.2=192.168.0.2:2888:3888

* dataDir 밑에 myid 라는 파일에 자신의 아이디가 명시되어야 한다.
자신의 아이디가 1일경우 "1" 이라고 저장한다.

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

기타 자세한 설정은 http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html#sc_configuration 참고

Kafka 설정

conf/server.properties

* 카프카 ID 를 설정해주는 것으로 0 부터 시작된다.
broker.id=0

* zookeeper 의 정보를 입력한다.
zookeeper.connect=192.168.0.1:2181,192.168.0.2:2181

* 메시지 보관 시간
log.retention.hours=24

* port 설정. ip 정보를 적용하지 않으면 local 에서만 접속이 가능하다. 클라이언트에서 192.168.0.3:9093 로 요청해서 접속하려면 아래와 같이 설정해야 한다. (ip를 적지 않으면 tcp 연결은 되나 허용이 안된다.)
listeners=PLAINTEXT://192.168.0.3:9093

기타 자세한 설정은 http://kafka.apache.org/081/documentation.html#brokerconfigs 참고

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

실행 시 주의 사항

Kafka 를 기동시키기 전 Zookeeper 가 모두 기동돼 있어야 한다. Kafka에 설정된 Zookeeper 가 하나라도 기동돼 있지 않으면 Kafka는 기동되지 않는다.(왜 이렇게 동작하는지는 모르겠다) 
하지만 Kafka 가 기동된 후에 Zookeeper 가 죽더라도 Kafka는 죽지않고 Zookeeper가 기동되는지를 체크한다.(이건 너무 당연한..)
추가로 Zookeeper는 다른 Zookeeper가 기동되지 않아도 기동할 수 있다.(이것도 당연..ㅋ)

참고 사이트 : http://epicdevs.com/20

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함