중지 (stop.sh)
Legacy native 페이지
이 페이지는 2026.05 미만 native 배포 박스 전용. 컨테이너 모드 (2026.05+) 박스는
systemctl stop plantpulse-edge.service — entrypoint 의 SIGTERM trap 이
내부 stop.sh (graceful Cassandra drain 포함) 를 호출합니다.
1. 사용법
$PE_HOME/bin/stop.sh
수행 순서:
- root
stop.sh가 각 컴포넌트$PE_HOME/<module>/bin/stop.sh를 순서대로 호출 - Tomcat → Node-RED → MQTT → timeseries-engine → timeseries-dashboard → Redis → Cassandra 순서로 종료
- 각 module stop 은 graceful 종료를 먼저 시도하고,
STOP_TIMEOUT_SECONDS=20안에 안 죽으면 해당 컴포넌트만kill -9 - Cassandra module stop 은 종료 직전
nodetool flush+drain으로 메모리의 더티 데이터를 디스크에 동기화
정상 출력:
PLANTPULSE EDGE STOP (module scripts, max 20s each) ...
SERVER STOP ... tomcat stopping ... KILL (timeout 20s)
FLOW TOOL STOP ... node-red stopping ... OK (3s)
MQTT STOP ... mqtt stopping ... OK (5s)
TIMESERIES ENGINE STOP ... timeseries-engine already stopped
TIMESERIES DASHBOARD STOP ... grafana stopping ... OK (0s)
CACHE STOP ... redis stopping ... KILL (timeout 20s)
DATABASE STOP ... cassandra stopping ... OK (1s)
STOP COMPLETED.
소요 ~60–90초.
2. 언제 호출하는가
- 백업하기 직전 — Cassandra commitlog 가 깔끔하게 닫힌 상태에서
backup.sh가 동작하도록. - OS 재부팅 직전 — drain 안 하고 끄면 다음 부팅 시 commitlog 회수에 시간이 더 걸립니다.
- 정식 점검 — 로직 수정/패치 후 깨끗한 상태에서 다시 띄우고 싶을 때.
단순 Tomcat 재시작 에는 사용하지 마세요
매번 stop.sh → start.sh 를 호출하면 2–3분 다운타임 입니다. 코드/설정만 반영하려면 restart.sh (Tomcat 만 재시작, 6초) 를 사용하세요.
3. 자주 빠지는 함정
| 증상 | 원인 / 해결 |
|---|---|
nodetool drain 단계가 너무 오래 걸림 | 메모리에 큰 unflushed 데이터. 보통 분 단위 — 디스크 I/O 가 풀려있는지 확인 |
KILL (timeout 20s) 가 매번 발생 | 일부 프로세스가 SIGTERM 무시. 평소엔 무해하지만 매번 발생하면 해당 컴포넌트 로그 점검 |
종료 후에도 ps.sh 에 프로세스 잔존 | 해당 컴포넌트의 $PE_HOME/<module>/bin/stop.sh 패턴/포트 검출 확인 |
4. 검증
$PE_HOME/bin/ps.sh
# 출력이 비어있어야 정상
5. 더 알아보기
- 다시 띄우려면: 시작 (
start.sh) - 단순 재시작: 재시작 (
restart.sh) - OS 재부팅:
reboot.sh(의 단순 OS reboot —stop.sh후에 호출 권장)