Study/Network

[카프카 서비스 등록] Apache Kafka 관리하기 쉽게 설정하는 방법

AC 2024. 5. 5. 03:07

카프카를 서비스로! 리눅스에 카프카 서비스를 쉽게 설정하는 방법


목차

  1. 서론
  2. 카프카 리눅스 서비스 설정의 이해
  3. Systemd를 사용하여 카프카 서비스 등록하기
  4. 서비스 관리
  5. 결론
  6. 참고 문헌

 

이 글은 리눅스 환경을 고려하고 작성한 글 입니다.


서론

데이터 스트리밍의 장인, 카프카(Apache Kafka)를 사용하면서 리눅스에서 카프카 서버를 편리하게 시작하고 관리하고 싶은 생각이 드셨나요? 오늘은 systemd를 활용하여 카프카를 리눅스 서비스로 등록하는 방법을 알려드리겠습니다. 이 방법을 사용하면 명령 한 줄로 카프카를 시작하거나 정지시킬 수 있고, 부팅 시 자동으로 실행되도록 설정할 수도 있습니다.

 


카프카 리눅스 서비스 설정의 이해

리눅스 시스템에서 소프트웨어를 서비스로 설정하면 다양한 장점이 있습니다. 카프카를 서비스로 등록하면 카프카 서버를 쉽게 시작, 중지, 재시작할 수 있으며, 시스템 부팅 시 자동으로 카프카가 시작되게 할 수 있습니다.

 

먼저 카프카를 설치하도록 합니다.

설치링크 : https://kafka.apache.org/downloads

출처 : 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      # 재시작하기

 


결론

 

서비스로 카프카를 등록하면 카프카 관리가 훨씬 쉬워지며, 운영에 있어 많은 유연성을 제공합니다. 이 방법을 통해 시스템 관리의 부담을 줄이고 데이터 스트리밍을 더욱 효율적으로 즐길 수 있습니다.

 


참고 문헌




LIST