Kafka Broker, Zookeeper 설치

김득회·2022년 8월 25일
0

Kafka

목록 보기
3/13

자바 설치

카프카 브로커를 설치하기 앞서 카프카를 실행하기 위한 자바를 설치하도록 한다.
카프카는 스칼라와 자바로 작성되어 JVM 환경 위에서 실행된다.
자바는 Open JDK를 사용할 예정이다.

sudo yum install -y java-1.8.0-openjdk-devel.x86_64

설치가 완료되었으면 자바가 잘 설치 되었는지 확인한다.

java -version

위와 같이 자바 버전에 나오면 성공이다.

주키퍼, 카프카 브로커 설치

카프카 브로커를 실행하기 위해 카프카 바이너리 패키지를 다운로드 한다.
wget 명령어로 카프카 바이너리 패키지 URL을 넣어 다운로드 받는다.

wget https://archive.apache.org/dist/kafka/2.5.0/kafka_2.12-2.5.0.tgz

다운로드가 완료되면 압축을 tar 명령어와 xvf 옵션을 통해 압축을 풀어준다.

tar xvf kafka_2.12-2.5.0.tgz

압축을 풀면 kafka_2.12-2.5.0 디렉터리가 생기게 된다.

카프카 브로커 힙 메모리 설정

카프카 브로커의 특징은 레코드의 내용을 페이지 캐시로 시스템 메모리를 사용하고 나머지를 힙메모리에 저장하여 사용하는 특징이 있다.

보통 카프카 브로커를 운용할 때는 5GB 이상으로 힙 메모리를 설정하는 것이 일반적이다.

카프카 패키지의 힙 메모리 기본 값은 카프카 브로커 1GB, 주키퍼 512MB로 기본 설정 되어있다.

하지만 우리가 사용하는 AWS 클라우드 인스턴스는 안타깝게도 1GB 메모리만 지원한다.

실습을 할 때는 이렇게 큰 메모리가 필요없기 때문에 힙 메모리 환경변수 설정이 필요하다.

export KAFKA_HEAP_OPTS="-Xmx400m -Xms400m"

echo KAFKA_HEAP_OPTS

export를 통해 환경변수를 세팅해준다.
하지만 터미널이 종료가 되면 해당 환경변수는 사라지기 때문에 .bashrc에 저장하여 터미널이 재실행 될 때 다시 환경변수가 세팅되게 설정한다.

nano ~/.bashrc
source ~/.bashrc
echo $KAFKA_HEAP_OPTS

하단에 힙메모리 설정을 해준다.

이후 source 명령어를 통해 수정한 .bashrc를 바로 반영하도록 명령을 실행한다.

Xms는 힙 메모리의 최소 사이즈를 의미하고, Xmx는 힙 메모리 최대 사이즈를 의미한다.

카프카 스크립트 분석

카프카 실행 스크립트를 확인하면 다음과 같은 명령어들을 확인 할 수 있다.

cd kafka_2.12-2.5.0/bin
cat kafka-server-start.sh

첫 번째 노란색 밑줄을 확인하면 -Xmx1G -Xms1G 를 확인 할 수 있다.
이것은 카프카 브로커의 기본 힙 메모리 세팅은 1GB로 지정되있으며 이전 처럼 환경변수 세팅이 되어 있지 않으면 해당 기본값으로 세팅이 된다.

두 번째 노란색 밑줄은 -daemon 옵션으로 카프카 브로커가 실행 될 때 백그라운드로 실행 될지, 포그라운드로 실행할지 설정할 수 있다. 포그라운드로 실행할 때는 -deamon을 지우면 된다.

profile
감성 프로그래머 HoduDeuk

0개의 댓글