$ sudo apt update $ sudo apt install openjdk-17-jdk $ java -version # 잘 설치됐는 지 확인
$ wget https://dlcdn.apache.org/kafka/4.0.0/kafka_2.13-4.0.0.tgz
$ tar -xzf kafka_2.13-4.0.0.tgz # 압축 풀기 $ cd kafka_2.13-4.0.0
$ export KAFKA_HEAP_OPTS="-Xmx400m -Xms400m"
$ sudo dd if=/dev/zero of=/swapfile bs=128M count=16 # 2GB짜리의 파일 생성 $ sudo chmod 600 /swapfile # 파일에 권한 부여 $ sudo mkswap /swapfile # 2GB 짜리 파일을 swap 공간의 형태로 전환 $ sudo swapon /swapfile # swap 활성화
# 시스템 부팅 시마다 자동으로 활성화 되도록 파일시스템 수정 $ sudo vi /etc/fstab # 아래 내용을 추가하고 저장하기 /swapfile swap swap defaults 0 0

$ free

$ vi config/server.properties
... # 외부에서 접근할 때 사용하는 주소 advertised.listeners=PLAINTEXT://{EC2 Public IP}:9092,CONTROLLER://{EC2 Public IP}:9093
# 초기 로그 폴더 셋팅 (카프카 첫 실행 때만 이 명령어를 입력하면 됨) $ KAFKA_CLUSTER_ID="$(bin/kafka-storage.sh random-uuid)" $ bin/kafka-storage.sh format --standalone -t $KAFKA_CLUSTER_ID -c config/server.properties # 카프카 서버 실행 $ cd ~/kafka_2.13-4.0.0 $ bin/kafka-server-start.sh config/server.properties # 포그라운드에서 실행

Ctrl + c를 누르면 된다. # 백그라운드에서 실행 $ bin/kafka-server-start.sh -daemon config/server.properties # 백그라운드에서 실행되고 있는 kafka 서버의 로그 확인하기 $ tail -f logs/kafkaServer.out
$ sudo lsof -i:9092 # 9092번 포트에서 실행 중인 프로세스 조회

Kafka를 연습하다보면 껐다가 다시 실행시킬 일이 많다. 따라서 Kafka를 종료했다가 다시 실행시켜보자.
# 카프카 종료하기 $ bin/kafka-server-stop.sh # 잘 종료됐나 확인 $ sudo lsof -i:9092
# 백그라운드에서 실행 $ bin/kafka-server-start.sh -daemon config/server.properties # 잘 실행됐나 확인 $ sudo lsof -i:9092

.sh)이 존재한다. 실제 카프카 명령어를 실행시킬 때 이 쉘 스크립트 파일을 활용해서 실행시키는 것이다. 그래서 이전에 입력한 명령어를 살펴보면 쉘 스크립트 파일을 실행시키는 명령어로 시작한다.