데이터레이크 개요
데이터레이크(DataLake) 는 PlantPulse 플랫폼의 인프라 계층입니다. 데이터베이스 · 메시지 브로커 · 분석 엔진 · 시계열 엔진 · 워크플로우 엔진처럼 «데이터가 저장되고 흐르는» 모든 것이 여기에 있고, 그 위에서 웹 콘솔 · 배치 · 웨어하우스 같은 애플리케이션이 돕니다.
- 설정 파일은 어디 있나 — 무엇을 고쳐야 재시작에 살아남는가
- 설정 바꾸는 법 — 값 · 노드 주소 · 템플릿 · 메모리
- 비밀번호 · API 키 바꾸기 —
passwd.sh한 명령 - 관리 콘솔 — 브라우저에서 상태 · 로그 · 백업 보기
- 자주 묻는 질문
한 컨테이너, 여덟 서비스
데이터레이크는 호스트에서 plantpulse-datalake 컨테이너 하나로 돕니다. 그 안에서 서비스 여덟 개가 정해진 순서로 뜹니다. 순서의 정본은 컨테이너 안 plantpulse-datalake-cli/services/order.txt 한 파일입니다.
storage → analytics → messaging → timeseries → cep → workflow → data-gateway → admin-api
| 순서 | 서비스 | 안에 있는 것 | 포트 | 하는 일 |
|---|---|---|---|---|
| 1 | storage | Valkey · PostgreSQL · Cassandra · MinIO | 6379 · 5432 · 9042 · 9000 | 캐시 · 메타데이터 · 시계열 · 오브젝트 저장 |
| 2 | analytics | Spark · Hive · Gravitino · Kyuubi | 7077/4440 · 9083 · 19001 · 10000 | 분산 분석과 SQL 게이트웨이 |
| 3 | messaging | Kafka · HiveMQ(MQTT) | 9092 · 1883 | 현장 데이터 수집과 모듈 간 이벤트 전달 |
| 4 | timeseries | 시계열 엔진 · Grafana | 7800 · 3000 | 시계열 저장 · 조회 · 대시보드 |
| 5 | cep | CEP 서버 | 7400 | 복합 이벤트 처리(EQL) |
| 6 | workflow | Temporal · Kestra | 7233/8233 · 8380 | 장시간 작업과 데이터 파이프라인 |
| 7 | data-gateway | 데이터 게이트웨이 | 5500 | 외부 시스템의 데이터 조회 창구 (SQL 콘솔 포함) |
| 8 | admin-api | 관리 콘솔 백엔드 | 4949 · 4950 | 이 노드의 운영 콘솔과 헬스 API |
storage 와 analytics 는 문지기입니다. 이 둘이 안 뜨면 뒤의 서비스는 시도조차 하지 않습니다. 나머지는 안 떠도 경고를 남기고 계속 갑니다.
plantpulse-sql 은 폐기되었습니다 (2026-09-07)옛 문서의 «SQL 쿼리 서비스(4000 포트)» 는 이미지에서 빠졌습니다. 콘솔에서 SQL 을 실행하는 자리는 이제 데이터 게이트웨이 콘솔(https://<서버IP>:5501/)입니다 → plantpulse-sql (폐기)
어디서 무엇을 하나
데이터레이크를 다루는 자리는 셋입니다. 어느 자리에서 무엇을 하는지만 알면 이 섹션의 나머지는 참고 자료입니다.
| 자리 | 명령 · 화면 | 하는 일 |
|---|---|---|
호스트 (/opt/kopens/plantpulse-platform-docker/bin/) | up.sh down.sh restart.sh restart-datalake.sh status.sh logs.sh shell.sh passwd.sh | 컨테이너를 켜고 끄고, 비밀번호를 바꾸고, 설정 파일을 고칩니다. 운영자의 첫 진입점 |
컨테이너 안 (docker exec plantpulse-datalake pd …) | pd status pd doctor pd logs pd config diff pd restart <서비스> pd backup | 서비스 하나를 다시 띄우거나, 설정이 제대로 렌더됐는지 보거나, 백업을 찍습니다 |
브라우저 (https://<서버IP>:4950/) | 관리 콘솔 | 상태 · 지표 · 로그 · 진단 · 백업 · 설정 diff 를 화면에서 봅니다. 명령 화면에서 허용된 pd 동사를 실행할 수도 있습니다 |
컨테이너 안의 설정 파일(/opt/kopens/plantpulse-platform/<모듈>/conf/…)은 전부 생성물입니다. 거기서 고친 것은 다음 기동에 사라집니다. 값의 정본은 호스트의 /etc/kopens/ 아래 파일 셋이고, 자세한 것은 설정 파일은 어디 있나에 있습니다.
처음 5분 — 정상인지 확인하기
아래 명령은 전부 읽기 전용입니다. 아무것도 바꾸지 않으니 언제 쳐도 됩니다.
# 1. 호스트에서 — 컨테이너와 헬스 요약. 종료 코드 0 = 정상, 2 = 비정상
cd /opt/kopens/plantpulse-platform-docker/bin
./status.sh
# 2. 컨테이너 안 — 서비스별 포트 표. 마지막 줄 "0 STOPPED" 면 정상
docker exec plantpulse-datalake pd status
# 3. 컨테이너 안 — 환경이 조용히 어긋난 곳은 없나. 마지막 줄 "FAIL 0" 이면 정상
docker exec plantpulse-datalake pd doctor
# 4. 브라우저 — 관리 콘솔
# https://<서버IP>:4950/?lang=ko
pd status 에서 기동 직후 몇십 초 동안 STOPPED 가 하나 보이는 것은 정상입니다. analytics 안의 Kyuubi 가 마지막에 뜨기 때문입니다(실측 54초). 1분 뒤 다시 보세요.
이 섹션의 구성
| 페이지 | 언제 보나 |
|---|---|
| 경로 지도 | «그 파일이 어디 있지» 할 때 — 호스트 · 컨테이너 · 볼륨 · 로그 |
| 환경 설정 | 설정 파일 위치, 바꾸는 절차, 변수 레퍼런스 |
| 자격증명 | 서비스 비밀번호 · API 키 회전, 웹 화면 로그인 계정 |
| 관리 콘솔 | 브라우저 콘솔의 접속 · 로그인 · 화면 구성 |
pd CLI | 컨테이너 안 운영 명령 전체 |
| 운영 | 시작 · 정지 · 재시작, 로그 · 헬스, 백업 · 복원 |
| 컴포넌트 | 저장소 · 메시징 · 분석 · 시계열 · CEP · 워크플로우 · 게이트웨이 각각의 상세 |
| FAQ | 자주 겪는 증상과 답 |
관련 문서
- 시스템 시작 및 종료 — 스택 전체의 기동 · 정지
- 포트 및 서비스 관리 — 공개 포트 전체 목록과 방화벽
- 백업 및 복구 — 백업 도구와 재해 복구 시나리오
- 초기 비밀번호 변경 — 커미셔닝 체크리스트