Kafka 입문·실전 - 1.4. AWS EC2에 Kafka 설치 실행하기
- AWS EC2에 Kafka를 설치하고 실행하는 방법을 설명합니다. 💻
- Kafka를 실행하려면 JDK 17 버전 이상이 필요하며, 이를 위해 JDK 17을 설치합니다. ☕
sudo apt update 명령어로 패키지 목록을 최신화하고, sudo apt install openjdk-17-jdk 명령어로 JDK 17을 설치합니다. 📦
java -version 명령어로 JDK 17 설치를 확인합니다. ✅
wget 명령어를 사용하여 Apache 홈페이지에서 Kafka 설치 파일을 다운로드합니다. 🌐
tar -xzf 명령어로 다운로드한 Kafka 압축 파일을 해제합니다. 🗜️
- EC2 인스턴스의 메모리 사양이 부족하므로 Kafka가 사용하는 메모리 크기를 줄이기 위해
export KAFKA_HEAP_OPTS="-Xmx400m" 명령어를 사용합니다. 💾
- 스왑(Swap) 메모리를 설정하여 EC2 인스턴스의 메모리 부족을 보완합니다. 💱
- 스왑 파일 생성, 권한 부여, 스왑 공간 설정 및 활성화를 위한 명령어를 실행합니다. 🔑
- 시스템 부팅 시 스왑 메모리가 자동으로 활성화되도록
/etc/fstab 파일을 수정합니다. ⚙️
free 명령어로 스왑 메모리 설정이 잘 되었는지 확인합니다. 📊
- Kafka 설정 파일 (
config/server.properties)에서 advertised.listeners 및 controller.quorum.voters를 EC2 인스턴스의 퍼블릭 IP 주소로 변경합니다. 📍
- 초기 로그 폴더를 설정하기 위해 무작위 값을 생성하고 Kafka 초기 로그 폴더를 설정하는 명령어를 실행합니다. 🗂️
bin/kafka-server-start.sh config/server.properties 명령어로 Kafka 서버를 포그라운드에서 실행합니다. ▶️
bin/kafka-server-start.sh -daemon config/server.properties 명령어로 Kafka 서버를 백그라운드에서 실행합니다. ⚙️
tail -f logs/kafka-server.out 명령어로 백그라운드에서 실행 중인 Kafka 서버의 로그를 확인합니다. 📝
sudo lsof -i :9092 명령어로 9092 포트에서 실행 중인 프로세스를 확인하여 Kafka 서버 실행 여부를 확인합니다. 🔍
bin/kafka-server-stop.sh 명령어로 Kafka 서버를 종료합니다. ⏹️
- Kafka 명령은
bin 디렉토리의 쉘 스크립트 파일을 통해 실행됩니다. 쉘 스크립트 파일을 실행하여 Kafka에 명령을 내립니다. 📜