목차
- Kafka 서버를 구동하기 위한 EC2 Set Up
- EC2에 Zookeeper 설치 & 설정
- EC2에 Kafka 설치 & 설정
Kafka 서버를 구동하기 위한 EC2 Set Up
위의 두 포스트를 확인하여 Kafka 실행을 위한 EC2 를 준비
kafka 서버 3개를 클러스터로 묶을 것이기 때문에 3대의 EC2 머신을 준비
각자의 /etc/hosts 파일을 편집해 이름 지정
cat /etc/hosts
파일 내용 보는 법 (cat 명령어)
vi /etc/hosts
파일 내용 편집하는 법 (vi 명령어)
만일 위 사진 처럼 읽기전용 으로 나올 경우
sudo vi /etc/hosts
입력 (sudo : 관리자 권한으로 실행)
"i" 를 눌러 INSERT 모드로 변경
해당 사진과 같이 각 IP에 이름 지정 (현재 test-brokerXX 라 명명)
(자신의 IP : 0.0.0.0)
esc 키
:wq! 입력 후 enter
(wq! 는 변경 내용 저장 후 종료)
(q! 는 변경 내용 저장하지 않고 종료)
EC2의 아이피 보는 법 (ex. test-broker01의 IP)
cat /etc/hosts
hosts 파일의 내용이 변경 된 것 확인 (cat 명령어: 해당 파일의 내용 확인)
EC2에 Zookeeper 설치 & 설정
해당 사이트의 Project 탭의 Releases 를 클릭
Release 된 최신 zookeeper version 확인
(2020/08/27 일 기준 latest zookeeper version : 3.6.1)
wget https://downloads.apache.org/zookeeper/zookeeper-3.6.1/apache-zookeeper-3.6.1-bin.tar.gz
zookeeper 버전만 최신으로 코드 변경 후 wget 명령어로 zookeeper 다운로드
apache-zookeeper-3/6/1-bin.tar.gz 파일 생긴 것 확인
tar xvf apache-zookeeper-3.6.1-bin.tar.gz
압축 풀기
apache-zookeeper-3.6.1-bin 디렉토리가 생긴 것 확인
cd apache-zookeeper-3.6.1-bin/conf
생성된 zookeeper 디렉토리 내의 conf 디렉토리로 이동
vi zoo.cfg
zoo.cfg 파일 생성
(vi 명령어는 기본적으로 파일의 내용을 편집하는 것)
(파일이 존재하지 않을 경우 파일을 생성하여 편집창을 띄운다)
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
initLimit=20
syncLimit=5
server.1=test-broker01:2888:3888
server.2=test-broker02:2888:3888
server.3=test-broker03:2888:3888
1. "i" 를 눌러 INSERT 모드로 변경 후
2. 해당 내용 붙여넣기
3. esc 키
4. :wq! 입력 후 enter (변경 내용 저장 후 종료)
tickTime
- 기준 시간 (현재 2초)
dataDir
- zookeeper의 상태, 로그 등을 저장하는 디렉토리 위치 지정
clientPort
- client 의 연결을 감지하는 port
initLimit
- follower 가 leader와 처음 연결을 시도할 때 가지는 tick 횟수. 제한 횟수 넘으면 timeout
(현재 40초로 설정) (tickTime * initLimit)
syncLimit
- follower 가 leader와 연결 된 후에 앙상블 안에서 leader와의 연결을 유지하기 위한 tick 횟수
제한 횟수 넘으면 time out
(현재 10초로 설정) (tickTime * syncLimit)
server.(zookeeper_server.pid의 내용)=(host name 이나 host ip):2888:3888
- 앙상블을 이루기 위한 서버의 정보
2888은 동기화를 위한 포트, 3888은 클러스터 구성시 leader를 산출하기 위한 포트
여기서 서버의 id 를 dataDir 에 설정해 줘야 한다.
(서버id 설정 경로 : /var/lib/zookeeper 의 zookeeper_server.pid 파일)
EC2에 Kafka 설치 & 설정
해당 사이트의 우측 상단 DOWNLOAD KAFKA 클릭
Release 된 최신 Kafka version 확인
(2020/08/27 일 기준 latest Kafka version : 2.6.0)
wget https://archive.apache.org/dist/kafka/2.6.0/kafka_2.12-2.6.0.tgz
kafka 버전만 최신으로 코드 변경 후 wget 명령어로 kafka 다운로드
tar xvf kafka_2.12-2.6.0.tgz
압축 풀기
kafka_2.12-2.6.0 디렉토리가 생긴 것 확인
cd kafka_2.12-2.6.0/config
config 디렉토리로 이동
sudo vi server.properties
server.properties 파일을 편집
#test-broker01 일 경우
broker.id=0
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://test-broker01:9092
zookeeper.connect=test-broker01:2181,test-broker02:2181,test-broker03/test
#test-broker02 일 경우
broker.id=1
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://test-broker02:9092
zookeeper.connect=test-broker01:2181,test-broker02:2181,test-broker03/test
#test-broker03 일 경우
broker.id=2
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://test-broker03:9092
zookeeper.connect=test-broker01:2181,test-broker02:2181,test-broker03/test
사진과 같이 각각 독립된 broker.id 와 advertised.listeners 설정
Kafka 실행 & Error 조치는 아래 포스팅 참조
'Kafka' 카테고리의 다른 글
Kafka Replication (0) | 2021.08.15 |
---|---|
Apache Kafka 개요 & Architecture 설명 (0) | 2021.08.08 |
[Kafka] AWS의 EC2 머신에서 Kafka 실행 & Error 조치 (0) | 2020.08.30 |
[Kafka] Mac OS 터미널을 이용한 Kafka 설치 (0) | 2020.08.26 |