른록노트
[Kfaka/Zookeeper] 설치 - 1 본문
@ 시작하기전
Window PC에서 VMware로 Linux서버 3대로 클러스터 구성할 계획입니다.
서버사양
OS : CentOS7.4
CPU : 3 core
Memory : 4 GB
주키퍼 주키퍼 버전 : zookeeper-3.5.8
설치할 카프카 버전 : kafka 2.13-2.6.0
@ 최종목표
카프카/주키퍼를 설치하고 카프카커넥터로 데이터를 받아 토픽을 만들어서 저장하고
스파크를 이용하여 consumer 만들어서 elastic에 데이터 저장
@ 방법
(zookeeper.apache.org/doc/r3.5.8/zookeeperStarted.html)
[모든서버]
> curl apache.mirror.cdnetworks.com/kafka/2.6.0/kafka_2.13-2.6.0.tgz -O
> tar -xvf kafka_2.13-2.6.0.tgz
> vim config/zookeeper.properties (주키퍼 설정)
dataDir=/data/zookeeper_data
clientPort=2181
maxClientCnxns=0
tickTime=2000
initLimit=5 // 처음 시작시 다른서버들 기다리는 시간 제한
syncLimit=2 // 서버들간의 시간 차이 제한
server.1=server-1:2888:3888
server.2=server-2:2888:3888
server.3=server-3:2888:3888
zookeeper dataDir에 myid 파일이 있어야함
[서버1] > echo 1 > /data/myid
[서버2] > echo 2 > /data/myid
[서버2] > echo 2 > /data/myid
> bin/zookeeper-server-start.sh config/zookeeper.properties (주키퍼 실행)
[새로운 터미널]
> vim config/server.properties (카프카 설정)
#각 서버의 broker.id가 달라야함
[서버1] broker.id=1
[서버2] broker.id=2
[서버3] broker.id=3
#토픽 만들어질때 디폴트 값 설정
num.partitions=3
offsets.topic.replication.factor=3
# 주키퍼 설정
zookeeper.connect=server-1:2181,server-2:2181,server-3:2181
> 카프카 실행
[1번서버]
> bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092 --replication-factor 3 ( 토픽생성 )
* > bin/kafka-topics.sh --help ( 도움말 )
> bin/kafka-topics.sh --describe --topic quickstart-events --bootstrap-server localhost:9092 (토픽확인)
> bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server localhost:9092 (토픽에 데이터 저장)
> bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server localhost:9092 (확인)