카프카 브로커를 실행하기 위해선 힙 메모리 설정이 필요하다.
브로커) 레코드의 내용은 페이지 캐시로 시스템 메모리를 사용하고 나머지 객체들을 힙 메모리에 저장하여 사용한다.
실습용으로 생성한 인스턴스는 1G 메모리를 가지고 있으므로 카프카 브로커와 주키퍼를 기본 설정으로 실행하면 에러가 난다.
(카프카 패키지 힙 메모리 - 카프카 브로커 : 1G, 주키퍼 - 512MB)
따라서 힙 메모리 사이즈를 미리 환경변수로 지정해서 살행해야 함! (1.5G 이상 메모리 가진 EC2 인스턴스면 ㄱㅊ)
환경변수를 export 명령어로 선언하고
echo + 환경변수 로 정상적으로 설정되었는지 확인!
(힙 메모리 최소 크기 : Xms, 최대 크기 Xmx)
터미널에서 사용자가 입력한 환경변수는 터미널 세션이 종료되고 나면 다시 초기화되어 재사용이 불가능하므로
이 환경변수 선언문을 ~/.bashrc 파일에 넣으면 된다. (bash 쉘이 실행될 때마다 반복적으로 구동되어 적용되는 파일)
개발하는 환경에 맞는 힙 메모리 사이즈를 KAFKA_HEAP_OPTS 환경변수로 선언한다.
source : 스트립트 파일을 수정한 후에 수정된 값을 바로 적용하기 위해 사용.
수정한 .bashrc 를 바로 반영하도록함.
이제 터미널 세션이 끊기거나 인스턴스에 재접속하더라도 KAFKA_~ 환경변수를 재선언할 필요가 없다.
(카프카 실행 시 메모리를 설정하는 부분은 카프카를 실행하기 위해서 사용하는 스크립트.)
* if ~ fi 문에서 카프카 브로커 실행 시 사전에 정의할 자바 힙 메모리 사이즈 지정. 저 값은 default 값이다. 최소 Xms, 최대 Xmx
* -daemon 옵션을 사용하여 카프카 브로커가 실행될 때 백그라운드로 실행될지 포어그라운드로 실행될지 설정할 수 있다.
-daemon 옵션을 붙이면 백그라운드로 실행되어 터미널 세션 끊기더라도 카프카 브로커는 계속해서 동작함.
붙이지 않으면 포어그라운드 동작 => ctrl + c 누르기 전까지 카프카 로그가 출력되고 다른 작업을 실행할 수 없다.
일시적인 브로커 테스트가 아닌 이상 -daemon 옵션을 붙여 백그라운드로 실행하는 것이 일반적인 운영방법이다.
'Data Engineering > Kafka' 카테고리의 다른 글
카프카 커맨드 라인 툴 (0) | 2021.06.14 |
---|---|
카프카 브로커 실행 옵션 설정 (0) | 2021.05.27 |
스타트업에서 kafka가 유용한 이유 (0) | 2021.05.18 |
아파치 카프카가 데이터 파이프라인으로 적합한 이유 (0) | 2021.05.18 |
EC2 카프카 설치, 실행 (0) | 2021.04.03 |