728x90

카프카 브로커를 실행하기 위해선 힙 메모리 설정이 필요하다. 

브로커) 레코드의 내용은 페이지 캐시로 시스템 메모리를 사용하고 나머지 객체들을 힙 메모리에 저장하여 사용한다.

 

 

실습용으로 생성한 인스턴스는 1G 메모리를 가지고 있으므로 카프카 브로커와 주키퍼를 기본 설정으로 실행하면 에러가 난다.

(카프카 패키지 힙 메모리 - 카프카 브로커 : 1G, 주키퍼 - 512MB)

따라서 힙 메모리 사이즈를 미리 환경변수로 지정해서 살행해야 함! (1.5G 이상 메모리 가진 EC2 인스턴스면 ㄱㅊ)

 

 

 

EC2 인스턴스

환경변수를 export 명령어로 선언하고

echo + 환경변수 로 정상적으로 설정되었는지 확인!

(힙 메모리 최소 크기 : Xms, 최대 크기 Xmx)

 

 

터미널에서 사용자가 입력한 환경변수는 터미널 세션이 종료되고 나면 다시 초기화되어 재사용이 불가능하므로 

이 환경변수 선언문을 ~/.bashrc 파일에 넣으면 된다. (bash 쉘이 실행될 때마다 반복적으로 구동되어 적용되는 파일)

 

 

ec2 인스턴스

개발하는 환경에 맞는 힙 메모리 사이즈를 KAFKA_HEAP_OPTS 환경변수로 선언한다. 

source : 스트립트 파일을 수정한 후에 수정된 값을 바로 적용하기 위해 사용. 

수정한 .bashrc 를 바로 반영하도록함. 

 

이제 터미널 세션이 끊기거나 인스턴스에 재접속하더라도 KAFKA_~ 환경변수를 재선언할 필요가 없다.

 

 

 

 

cat bin/kafka-server-start.sh

 (카프카 실행 시 메모리를 설정하는 부분은 카프카를 실행하기 위해서 사용하는 스크립트.)

 

* if ~ fi 문에서 카프카 브로커 실행 시 사전에 정의할 자바 힙 메모리 사이즈 지정. 저 값은 default 값이다. 최소 Xms, 최대 Xmx

 

* -daemon 옵션을 사용하여 카프카 브로커가 실행될 때 백그라운드로 실행될지 포어그라운드로 실행될지 설정할 수 있다.

-daemon 옵션을 붙이면 백그라운드로 실행되어 터미널 세션 끊기더라도 카프카 브로커는 계속해서 동작함.

                            붙이지 않으면 포어그라운드 동작 => ctrl + c 누르기 전까지 카프카 로그가 출력되고 다른 작업을 실행할 수 없다. 

일시적인 브로커 테스트가 아닌 이상 -daemon 옵션을 붙여 백그라운드로 실행하는 것이 일반적인 운영방법이다. 

 

 

 

+ Recent posts