카프카를 서비스로! 리눅스에 카프카 서비스를 쉽게 설정하는 방법
목차
- 서론
- 카프카 리눅스 서비스 설정의 이해
- Systemd를 사용하여 카프카 서비스 등록하기
- 서비스 관리
- 결론
- 참고 문헌
이 글은 리눅스 환경을 고려하고 작성한 글 입니다.
서론
데이터 스트리밍의 장인, 카프카(Apache Kafka)를 사용하면서 리눅스에서 카프카 서버를 편리하게 시작하고 관리하고 싶은 생각이 드셨나요? 오늘은 systemd를 활용하여 카프카를 리눅스 서비스로 등록하는 방법을 알려드리겠습니다. 이 방법을 사용하면 명령 한 줄로 카프카를 시작하거나 정지시킬 수 있고, 부팅 시 자동으로 실행되도록 설정할 수도 있습니다.
카프카 리눅스 서비스 설정의 이해
리눅스 시스템에서 소프트웨어를 서비스로 설정하면 다양한 장점이 있습니다. 카프카를 서비스로 등록하면 카프카 서버를 쉽게 시작, 중지, 재시작할 수 있으며, 시스템 부팅 시 자동으로 카프카가 시작되게 할 수 있습니다.
먼저 카프카를 설치하도록 합니다.
설치링크 : https://kafka.apache.org/downloads
바이너리 다운로드에서 다운로드를 하면 됩니다.
저는 kafka_2.13-3.7.0.tgz를 다운로드 했습니다.
압축을 해제를 하고
tar cvzf kafka_2.13-3.7.0.tgz
/home/사용자이름 에 kafka 폴더를 삽입합니다. 저는 폴더이름을 kafka로 변경한 후 적용 했습니다.
그리고 아래의 명령어를 입력하여 service 파일을 만듭니다.
/etc/systemd/system/zookeeper.service
/etc/systemd/system/kafka.service
Systemd를 사용하여 카프카 서비스 등록하기
Step 1: 카프카 서비스 파일 생성하기
/etc/systemd/system/kafka.service 파일을 생성하고 아래의 내용을 붙여넣습니다.
File : kafka.service
[Unit]
Requires=zookeeper.service
After=zookeeper.service
[Service]
Type=simple
ExecStart=/bin/sh -c '/home/사용자이름/kafka/bin/kafka-server-start.sh /home/사용자이름/kafka/config/server.properties > /home/사용자이름/kafka/kafka.log 2>&1'
ExecStop=/home/사용자이름/kafka/bin/kafka-server-stop.sh
Restart=on-abnormal
[Install]
WantedBy=multi-user.target
File : zookeeper.service
Requires=network.target remote-fs.target
After=network.target remote-fs.target
[Service]
Type=simple
ExecStart=/bin/sh -c '/home/사용자이름/kafka/bin/zookeeper-server-start.sh /home/사용자이름/kafka/config/zookeeper.properties > /home/사용자이름/kafka/kafka.log 2>&1'
ExecStop=/home/사용자이름/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal
[Install]
WantedBy=multi-user.target
Step 2: 서비스 등록하기
생성한 서비스 파일을 systemd에 알려주고, 부팅 시 자동 시작되도록 설정합니다.
bash
sudo systemctl daemon-reload
sudo systemctl enable kafka
sudo systemctl enable zookeeper
Step 3: 카프카 서비스 시작하기
다음 명령으로 카프카 서비스를 시작합니다.
bash
sudo systemctl start kafka
sudo systemctl start zookeeper
서비스 관리
이제부터는 systemctl 명령어를 사용하여 카프카 서비스를 쉽게 관리할 수 있습니다. 상태 확인, 중지, 재시작 등을 아래와 같이 수행할 수 있습니다.
bash
sudo systemctl status kafka # 상태 확인
sudo systemctl stop kafka # 중지하기
sudo systemctl restart kafka # 재시작하기
결론
서비스로 카프카를 등록하면 카프카 관리가 훨씬 쉬워지며, 운영에 있어 많은 유연성을 제공합니다. 이 방법을 통해 시스템 관리의 부담을 줄이고 데이터 스트리밍을 더욱 효율적으로 즐길 수 있습니다.
참고 문헌
- Apache Kafka 공식 문서: http://kafka.apache.org/documentation/
- Systemd 공식 문서: https://www.freedesktop.org/wiki/Software/systemd/
'Study > Network' 카테고리의 다른 글
[Redis] Redis 실치 & 실행 에러, 오류 해결방법 모음 (1) | 2024.05.12 |
---|---|
Redis와 Redis-Server 간편 설치 가이드 (0) | 2024.05.12 |
카프카와 주키퍼: 데이터 처리와 분산 시스템의 핵심 역할 (0) | 2024.05.05 |
Cors에 승리하는 방법 (0) | 2022.04.29 |
CORSflare – 동일 출처 제한을 우회하는 무료 역방향 프록시 (0) | 2021.11.21 |