이번에는 zookeeper 설치를 진행해 보려 합니다. 오래전 설치 한 기억들을 끌어올리려 하니 ㅠㅠ 정말 힘드네요
일단 zookeeper 설치에 앞서 사전 진행 사항이 필요합니다.
zookeeper와 kafka 테스트의 편의성을 위해 confluent platform을 사용해 보려합니다.
사전진행 (3대의 서버에서 실행 합니다.)
1. 필수 패키지 설치 진행
yum install curl which
2. yum 패키지 설치
rpm --import https://packages.confluent.io/rpm/6.0/archive.key
3. yum repo 생성 /etc/yum.repos.d/confluent.repo
[Confluent.dist]
name=Confluent repository (dist)
baseurl=https://packages.confluent.io/rpm/6.0/7
gpgcheck=1
gpgkey=https://packages.confluent.io/rpm/6.0/archive.key
enabled=1
[Confluent]
name=Confluent repository
baseurl=https://packages.confluent.io/rpm/6.0
gpgcheck=1
gpgkey=https://packages.confluent.io/rpm/6.0/archive.key
enabled=1
4. yum 캐시 삭제 및 confluent community platform 설치
yum clean all && yum install confluent-community-2.13
위와 같이 하시면 준비 끝!!
이제 Zookeeper 설치를 해볼께요
Zookeeper 컨피그 설정
1. /etc/kafka/zookeeper.properties에서 아래와 같은 수정이 필요합니다.
tickTime=2000
dataDir=/var/lib/zookeeper/
clientPort=2181
initLimit=5
syncLimit=2
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888
autopurge.snapRetainCount=3
autopurge.purgeInterval=24
그리고 /var/lib/zookeeper 에서 myid 를 생성합니다.
1번 서버에서
echo 1 > /var/lib/zookeeper/myid
2번 서버에서
echo 2 > /var/lib/zookeeper/myid
3번 서버에서
echo 3 > /var/lib/zookeeper/myid
3대의 서버에 위와 같이 구성이 완료 되었다면 문제 없이 zookeeper를 실행 할 수 있습니다.
systemctl start confluent-zookeeper
위와 같이 잘 실행이 되었다면, 2181port listen 상태를 확인 할 수 있습니다.
KAFKA 컨피그 설정
사전작업
mkdir /data1
mkdir /data2
1. kafka 컨피그 설정 (/etc/kafka/server.properties) 수정
# 브로커 ID는 zookeeper에서 myid 생성했던 값을 입력합니다.
broker.id=1
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://kafka1:9092
log.dirs=/data1,/data2
num.partitions=1
offsets.topic.replication.factor=3
transaction.state.log.replication.factor=3
transaction.state.log.min.isr=2
zookeeper.connect=zoo1:2181,zoo2:2181,zoo3:2181/kafka
group.initial.rebalance.delay.ms=0
delete.topic.enable = true
log.roll.hours=1
위와 같이 설정을 하고
kafka2번서버와 kafka3번서버 에도 broker.id와 advertised.listeners 의 host를 kafka2, kafka3 으로 변경하여 줍니다.
그리고, 실행
2. kafka 실행
systemctl start confluent-kafka
Port 9092가 open되어 있는지 확인합니다.
'서버인프라 > 카프카' 카테고리의 다른 글
[ 제 5강 AVRO 해보기] KAFKA AVRO 해보기 (0) | 2021.02.05 |
---|---|
[ 제3-1강 소비와 생산 ] KAFKA Producer & Consumer (0) | 2021.02.02 |
[ 제 3강 소비와 생산 ] KAFKA Producer & Consumer (0) | 2021.02.01 |
[ 제 2강 설치 ] KAFKA TOPIC 생성 (0) | 2021.02.01 |
APACHE KAFKA 이야기 (0) | 2021.01.25 |
댓글