다음과 같은 명령어를 하나의 service로 작성하려 한다.
java `cat conf-quickstart/druid/historical/jvm.config | xargs` -cp "conf-quickstart/druid/_common:conf-quickstart/druid/historical:lib/*" io.druid.cli.Main server historical
systemd service를 만들기 위해선 총 두개의 step이 필요하다.
- 먼저 명령어를 .sh 파일로 만들어준다.
- .sh를 이용해 .service 파일을 만들어 systemd에 service로 등록한다.
1. .sh 파일 만들기
/opt/shell/druid 라는 폴더를 만들어, 그 폴더에 .sh 파일들을 모두 생성해주었다.
sample) broker.sh
#!/usr/bin/env bash
cd /opt/druid
/usr/bin/java `cat conf-quickstart/druid/broker/jvm.config | xargs` -cp "conf-quickstart/druid/_common:conf-quickstart/druid/broker:lib/*" io.druid.cli.Main server broker
2. .service 파일 만들기
/lib/systemd/system/ 에 .service 파일을 생성해 주었다.
sample) druid-broker.service
[Unit]
Description=Druid broker
[Service]
WorkingDirectory=/opt/druid
ExecStart=/opt/shell/druid/broker.sh
Type=simple
User=ubuntu
Restart=always
[Install]
WantedBy=multi-user.target
3. service 시작하기
다음 명령어로 service를 시작할 수 있다.
sudo service druid-broker start
다음 명령어로 service의 상태를 확인할 수 있다.
service druid-broker status
작성자 : RE팀 김연수 ([email protected])