반응형
Kafka 설치
환경
Ubuntu 18.0.4
OpenJDK 11.0.17
Kafka 3.3.1
OpenJDK 설치
sudo apt install -y openjdk-11-jdk
Kafka 사용자 생성
kafka 사용자를 생성하고 sudo 그룹에 추가한후 kafka 사용자로 로그인 합니다
sudo adduser kafka
sudo adduser kafka sudo
su - kafka
Kafka 설치하기
cd # /home/kafka로 이동
mkdir Downloads # Download 폴더 생성
mkdir ~/kafka && cd ~/kafka # /home/kafka/kafka 생성후 이동
curl https://dlcdn.apache.org/kafka/3.3.1/kafka_2.13-3.3.1.tgz -o ~/Downloads/kafka.tgz
tar -xvzf ~/Downloads/kafka.tgz --strip 1
Kafka 서버 설정
Kafka의 Topic은 기본적으로 삭제 할 수 없도록 되어 있는데 이를 수정합니다
수정할때는 vi나 nano 등 편한 편집기로 해도 됩니다
vi config/server.properties
'delete.topic.enable = true' 추가
~/kafka/config/server.properties
|
delete.topic.enable = true |
서비스 등록 후 Kafka 실행
zookeeper와 kafka 관련 systemd unit files들을 만들고 이를 실행합니다
zookeeper의 경우는 카프카에 포함되어 있는 버전을 사용해도 되고, 오픈소스 버전을 이용해도 됩니다. 지금은 테스트를 위해서 카프카에 포함되어 있는 버전을 이용합니다.
zookeeper 서비스 등록
sudo vi /etc/systemd/system/zookeeper.service
/etc/systemd/system/zookeeper.service |
[Unit] Requires=network.target remote-fs.target After=network.target remote-fs.target [Service] Type=simple User=kafka ExecStart=/home/kafka/kafka/bin/zookeeper-server-start.sh /home/kafka/kafka/config/zookeeper.properties ExecStop=/home/kafka/kafka/bin/zookeeper-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target |
kafka 서비스 등록
sudo vi /etc/systemd/system/kafka.service
/etc/systemd/system/kafka.service |
[Unit] Requires=zookeeper.service After=zookeeper.service [Service] Type=simple User=kafka ExecStart=/bin/sh -c '/home/kafka/kafka/bin/kafka-server-start.sh /home/kafka/kafka/config/server.properties > /home/kafka/kafka/kafka.log 2>&1' ExecStop=/home/kafka/kafka/bin/kafka-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target |
Kafka 실행 및 상태 확인
sudo systemctl start kafka // kafka 실행
sudo systemctl status kafka // kafka 상태 확인
sudo systemctl enable zookeeper // 재부팅시 zookeeper 실행
sudo systemctl enable kafka // 재부팅시 kafka 실행
설치 테스팅
TestTopic 생성
~/kafka/bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic TestTopic
TestTopic에 "Hello,World" 메시지 전송
echo "Hello, World" | ~/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic TestTopic > /dev/null
TestTopic을 consume해서 메시지 확인
~/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic TestTopic --from-beginning
References
https://www.digitalocean.com/community/tutorials/how-to-install-apache-kafka-on-ubuntu-18-04
반응형
'DevOps' 카테고리의 다른 글
windows를 위한 Python 설치관련도구들 (0) | 2023.03.21 |
---|---|
파이썬3 (python3) 설치 및 윈도우 (0) | 2023.03.21 |
Discord는 수백만의 사용자 메시지를 어떻게 처리할까? (0) | 2023.03.19 |
올해 최고의 소프트웨어 개발도구 6가지 (0) | 2023.03.17 |
NestJS를 이용한 Typescript로 Kafka 사용해보기 -2 (0) | 2022.12.11 |
댓글