Chapter 02(1). 카프카 설치하기(WSL 🐧)
1. WSL 설치
2. Java 설치 및 확인
- OpenJDK 설치
1
sudo apt update && sudo apt install openjdk-17-jdk
- Java 버전 확인
1
java -version
3. 작업 디렉토리 생성
home/<user>
경로 아래 디렉토리 생성
1
mkdir -p ~/.local/tmp
4. Zookeeper 설치
~/.local/tmp
경로로 이동
1
cd ~/.local/tmp
- 아래 명령어 실행
1
2
wget https://dlcdn.apache.org/zookeeper/zookeeper-3.9.3/apache-zookeeper-3.9.3-bin.tar.gz
tar -xvzf apache-zookeeper-3.9.3-bin.tar.gz
- 압축 해제한 폴더를
.local
로 이동 후 이름 변경
1
mv apache-zookeeper-3.9.3-bin ~/.local/zookeeper
5. Kafka 설치
- Kafka 3.9.0 다운로드 및 압축 해제
1
2
wget https://dlcdn.apache.org/kafka/3.9.0/kafka_2.12-3.9.0.tgz
tar -xvzf kafka_2.12-3.9.0.tgz
- 압축 해제한 폴더를
.local
로 이동 후 이름 변경
1
mv kafka_2.12-3.9.0 ~/.local/kafka
6. Zookeeper 실행
- Zookeeper 실행
1
2
cd ~/.local/zookeeper/bin
./zkServer.sh start
7. Kafka 브로커 실행 스크립트 작성
.local
아래에start_kafka_broker.sh
파일 생성
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/bash
KAFKA_HOME=/home/$USER/.local/kafka
KAFKA_PROPERTIES=$KAFKA_HOME/config/server.properties
echo "=================================="
echo "KAFKA_HOME: $KAFKA_HOME"
echo "KAFKA_PROPERTIES: $KAFKA_PROPERTIES"
echo "=================================="
echo "Starting Kafka Broker"
# Error Handling
error_handling() {
echo "=================================="
echo " [ERROR] Kafka Broker failed to start."
echo "=================================="
exit 1
}
# Check Path
if [ ! -d "$KAFKA_HOME" ]; then
echo "=================================="
echo " [ERROR] Kafka Home directory not found: $KAFKA_HOME"
echo "=================================="
error_handling
fi
if [ ! -f "$KAFKA_PROPERTIES" ]; then
echo "=================================="
echo " [ERROR] Kafka Properties file not found: $KAFKA_PROPERTIES"
echo "=================================="
error_handling
fi
echo "Kafka Home: $KAFKA_HOME"
echo "Kafka Properties: $KAFKA_PROPERTIES"
# Kafka Broker 시작
$KAFKA_HOME/bin/kafka-server-start.sh -daemon $KAFKA_PROPERTIES
# Kafka 시작 상태 확인
if [ $? -ne 0 ]; then
error_handling
fi
echo "Kafka Broker Started successfully"
- 실행 권한 부여
1
chmod +x ~/.local/start_kafka_broker.sh
- Kafka 브로커 실행
1
~/.local/start_kafka_broker.sh
8. 간단한 토픽 생성 및 메시지 송수신 실습
8-1. 토픽 생성
- Kafka에서 메시지를 주고받기 위해
test
토픽 생성
1
~/.local/kafka/bin/kafka-topics.sh --bootstrap-server localhost:9092 --create --replication-factor 1 --partitions 1 --topic test
8-2. 토픽 정보 확인
- 생성한 토픽의 상세 정보 확인
1
~/.local/kafka/bin/kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic test
- 출력 정보
- 파티션 수, 리플리케이션 팩터 등 토픽의 기본 설정값 표시
8-3. 토픽에 메시지 쓰기
kafka-console-producer.sh
를 사용해test
토픽에 메시지 전송
1
~/.local/kafka/bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test
- 메시지 입력
- 입력된 메시지는 Kafka 브로커를 통해 저장됨
1
2
> TestMessage1
> TestMessage2
8-4. 토픽에서 메시지 읽기
kafka-console-consumer.sh
를 사용해 저장된 메시지 읽기
1
~/.local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
- 출력결과
- 토픽에 저장된 메시지가 순서대로 표시
--from-beginning
옵션을 통해 기존 메시지 모두 읽기 가능
This post is licensed under CC BY 4.0 by the author.