Skip to main content

DataLake Overview

DataLake is the infrastructure layer of the PlantPulse platform. Everything that stores and streams data — databases, message brokers, analytics engines, time-series engines, workflow engines — lives here, and applications such as the web console, batch jobs, and warehouses sit on top of it.

🎬 Tour the DataLake admin console · 53초 · 2026.09 기준 화면
Pages you will see most often in this section

One Container, Eight Services​

The DataLake runs as a single plantpulse-datalake container on the host. Inside it, eight services start in a fixed order. The authoritative sequence is a single file, plantpulse-datalake-cli/services/order.txt, inside the container.

storage → analytics → messaging → timeseries → cep → workflow → data-gateway → admin-api
OrderServiceComponentsPortsWhat it does
1storageValkey · PostgreSQL · Aster TSDB · RustFS6379 · 5432 · 9042 · 9000Cache · metadata · time series · object storage
2analyticsSpark · Hive · Gravitino · Kyuubi · Flink(+ SQL Gateway)7077/4440 · 9083 · 19001 · 10000 · 8181 · 8083Distributed analytics and SQL gateway
3messagingKafka · HiveMQ(MQTT)9092 · 1883Field data collection and inter-module event delivery
4timeseriesTime-series engine · PlantPulse Dashboard7800 · 3000Metric storage · query · dashboards (sensor values live on 9042 of storage)
5cepCEP server7400Complex event processing — EQL registration · validation · console, and the engine
6workflowTemporal · Kestra7233/8233 · 8380Long-running jobs and data pipelines
7data-gatewayData gateway5500The front door for external systems to query data (including SQL console)
8admin-apiAdmin console backend4949 · 4950Operational console and health API for this node

storage and analytics are the gatekeepers. If these two do not come up, the services behind them do not even attempt to start. The rest, if they fail to start, log a warning and move on.

Where You Do What​

There are three places you work with the DataLake. Once you know what each place is for, the rest of this section becomes reference material.

PlaceCommand · ScreenWhat you do
Host (/opt/kopens/plantpulse-platform-docker/bin/)up.sh down.sh restart.sh restart-datalake.sh status.sh logs.sh shell.sh passwd.shStart and stop the container, change passwords, edit configuration files. The operator's first entry point
Inside the container (docker exec plantpulse-datalake pd …)pd status pd doctor pd logs pd config diff pd restart <서비스> pd backupRestart a single service, verify that settings rendered correctly, take a backup
Browser (https://<server-ip>:4950/)Admin consoleView status · metrics · logs · diagnostics · backups · configuration diff on screen. You can also run the pd verbs allowed by the command screen
The host is the only place to change values

Every configuration file inside the container (/opt/kopens/plantpulse-platform/<module>/conf/…) is a generated artifact. Anything you edit there is gone on the next startup. The source of truth for values is the set of files under /etc/kopens/ on the host; for details, see Where are the configuration files?.

First Five Minutes — How to Confirm It Is Healthy​

The commands below are all read-only. They change nothing, so you can run them any time.

# 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://<server-ip>:4950/?lang=ko

On pd status, seeing a single STOPPED for the first few dozen seconds after startup is normal. Kyuubi inside analytics starts last (measured 54 seconds). Check again after one minute.

What This Section Contains​

PageWhen to read it
Path mapWhen you ask "where is that file" — host · container · volumes · logs
ConfigurationConfiguration file locations, change procedures, variable reference
CredentialsService passwords · API key rotation, web login accounts
Admin consoleConsole access · login · screen layout
pd CLIThe full set of operational commands inside the container
OperationsStart · stop · restart, logs · health, backup · restore
CEPWrite and run real-time rules with EQL — language · event types · operations · limits
Data gatewayFour languages behind one REST — API · controls and limits
ComponentsDetails for storage · messaging · analytics · time series · CEP · workflow · gateway
FAQFrequently encountered symptoms and answers