一行安装 (推荐)
概述
PlantPulse 平台可以通过一条命令快速安装。从下载服务器获取安装脚本,自动完成 OS 设置、Docker 安装、防火墙配置、Docker Compose 栈启动。
何时使用? 适用于在标准环境(Oracle Linux 8 / RHEL 9 / Ubuntu 20.04+ / Amazon Linux 2023)中以默认配置快速安装的场景。如果运营环境需要逐步审查详细配置,建议参考 Docker 安装 页面的手动安装步骤。
安装模式选择
安装前,先确定采用的配置方案。
| 配置 | 服务器数量 | 推荐场景 | 指南 |
|---|---|---|---|
| 单体部署 (FULL) — 默认 | 1 台(推荐 256GB,最低 128GB) | 标准配置。按本页步骤进行 | 本页 |
| 2 节点分离 (DATALAKE/APP) | 2 台(64GB + 48GB) | 单台服务器内存不足或需要分离数据与控制台时 | 2 节点分离安装 |
| 隔离网络 (Airgap) | — | 无互联网连接环境 | Docker 安装 的隔离网络章节 |
下述步骤基于单体部署 (FULL)。不使用环境变量执行时默认为 FULL 部署。
支持的环境
| OS | 版本 |
|---|---|
| Oracle Linux | 8.x |
| RHEL / Rocky Linux | 8.x, 9.x |
| Ubuntu | 20.04+ (20 / 22 / 24) |
| Amazon Linux | 2, 2023 |
前置条件
- 网络连接正常的服务器(需访问下载服务器
product.kopens.io) root权限- 最低 16 vCPU / 64GB RAM / 200GB 磁盘(标准配置 32 vCPU / 128GB RAM,运营推荐 256GB RAM)
隔离网络 (Airgap) 环境无法使用一行安装。请参考 Docker 安装 页面的隔离网络安装步骤。
执行安装
通过 SSH 连接到服务器后,执行以下命令:
sudo -i
curl -fsSL https://product.kopens.io/plantpulse-platform/install.sh | bash
脚本自动执行的操作:
- OS 自动检测(RHEL/Rocky/Oracle 8·9、Ubuntu 20+、Amazon Linux)
- Docker Engine + Compose v2 安装及守护进程配置(data-root)
- 内核 / 资源优化(
limits.conf、sysctl.conf、chrony.conf、tmpfiles.d) - SELinux 切换为 permissive 并禁用 swap
- 防火墙端口自动开放 — 公网端口(80/443/7443/4949/4950)及私网限制端口
- 创建服务账户边车(
/etc/kopens/plantpulse-platform.env) - 容器镜像仓库(
docker.kopens.io)登录 - 创建 Docker 网络 / 卷后启动 compose 栈
安装完成后会定义九个容器,其中八个持续运行 — 基础设施(plantpulse-datalake)、应用层六个(plantpulse-server-web · plantpulse-batch-web · plantpulse-warehouse · plantpulse-plugin-opcua-server · plantpulse-plugin-aasx-server · plantpulse-ha)、Edge(plantpulse-proxy)。剩余一个(plantpulse-certs)是 TLS 证书生成的一次性任务,其 Exited (0) 状态属于正常。
详细配置参见 Docker 安装 — 栈结构。
安装脚本会在栈启动后轮询等待直到就绪。容器本身启动需要 3~5 分钟(JVM 预热),但全新安装由于 Cassandra 模式迁移和稳定化需要全部组件稳定耗时 15~18 分钟。重启则快得多,因为模式已存在。
安装选项
# Docker가 이미 설치된 경우 OS 셋업 단계 생략
curl -fsSL https://product.kopens.io/plantpulse-platform/install.sh | bash -s -- --skip-os
| 选项 | 效果 |
|---|---|
--skip-os | 跳过 OS 设置和 Docker 安装(已安装 Docker 时) |
注意:一行安装会自动配置镜像仓库认证,无需单独设置
docker login。跳过防火墙(SKIP_FW=1)、跳过镜像仓库登录(SKIP_LOGIN=1)、修改 Docker data-root 路径(DOCKER_DATA_DIR,默认/data1/docker-data)需在节点上下载的bin/install.sh直接运行时通过环境变量指定 → Docker 安装
验证安装
安装完成后,用以下命令检查状态:
cd /opt/kopens/plantpulse-platform-docker/bin
./status.sh # 0 = 정상 / 2 = 비정상
./ops-check.sh
curl -kfsS https://<server-ip>:4950/api/health | jq # "status":"OK" 또는 "WARN" 이면 정상
docker ps # 여덟 개가 (healthy), plantpulse-certs 는 Exited (0)
docker ps 中没有 plantpulse-platform 不表示失败该名称的单个容器配置已废弃。容器名称为上述九个,旧文档中的 docker logs plantpulse-platform 不再有效。日志查看请用 ./logs.sh。
所有项目正常后,在浏览器中访问 Web 控制台:
https://[서버IP] # 웹 콘솔 (80/443, plantpulse-proxy 가 받습니다)
https://[서버IP]:7443 # 관리 UI
https://[서버IP]:4950 # 모니터 UI
- 默认管理员账户:admin / admin123!
- 登录后必须立即修改密码 → 初始密码
安装后调整环境变量
一行安装会根据主机自动计算资源值,大多数服务器无需调整。只需调整无法自动确定的值,如区域设置。
cd /opt/kopens/plantpulse-platform-docker/bin
vi env.sh
./restart.sh
常调整的项目:
| 变量 | 说明 | 默认值 |
|---|---|---|
PP_LANG | 平台区域设置(ko / en) | en — 韩国运营则改为 ko |
PP_TZ | 平台时区 | Asia/Seoul |
DOCKER_PP_CPUS | 分配给容器的 vCPU 数 | nproc 结果(自动) |
DOCKER_PP_MEMORY | 内存上限 | 主机 RAM 的 90%(自动) |
DOCKER_DATALAKE_MEMORY | 数据湖内存上限 | 80G,主机较小时为 RAM 的 90% |
DOCKER_PP_DATA_DISK_NAME | 数据磁盘名称 | 自动检测(失败时 sda) |
DOCKER_PP_EXTERNAL_IP | NAT 环境的外部 advertise IP | 空值 — 非 NAT 环境留空 |
DOCKER_PP_EXTERNAL_IP该值会纳入 TLS 证书的 SAN 列表。填入无效 IP 会导致证书无法生成,栈将无法启动。
多语言支持:默认区域设置为
en。在韩国环境中,修改为PP_LANG=ko后用./restart.sh应用。但由于 Cassandra 时序数据以 KST epoch 写入,韩国运营时必须保持Asia/Seoul。
完整环境变量列表参见 环境变量参考。
常用运维命令
cd /opt/kopens/plantpulse-platform-docker/bin
./preflight.sh # 설치 전 비파괴 사전 점검
./up.sh # 기동 — 준비될 때까지 대기 (0 = 준비 완료)
./down.sh # 정지 (상태 보존)
./restart.sh # graceful 재시작 (drain + 준비 대기)
./status.sh # 서비스 / health / 볼륨 요약 (0=정상 / 2=비정상)
./logs.sh [서비스] # 로그 보기 (1회 출력, -f 로 따라가기). 인자가 없으면 전체, 목록은 --list
./shell.sh [서비스] # 컨테이너 bash 진입 (인자 없으면 데이터레이크)
./ops-check.sh # 운영 health + 최근 critical log 점검
./update.sh # 이미지 갱신 (pull + recreate + 실패 시 rollback)
./remove.sh # 컨테이너 제거 (볼륨은 보존)
./doctor.sh # 장애 진단 tarball 생성
所有动词都支持 --help。旧名称(stack-run.sh · stack-stop.sh · stack-bash.sh · stack-update.sh · stack-remove.sh)仍然有效。
问题排查
下载脚本执行失败
# 다운로드 서버 접근 가능 여부 확인
curl -fsSL https://product.kopens.io/plantpulse-platform/install.sh -o /tmp/install.sh
ls -al /tmp/install.sh
# 회사 방화벽 / 프록시로 차단된 경우 네트워크 관리자에게 도메인 허용 요청:
# product.kopens.io, docker.kopens.io
容器无法转入 healthy 状态
先确定具体是哪个容器出现问题。
cd /opt/kopens/plantpulse-platform-docker/bin
./status.sh # 어떤 서비스가 비정상인가
./logs.sh --list # 볼 수 있는 서비스 목록
./logs.sh plantpulse-server-web -n 200 # 그 컨테이너의 로그
./doctor.sh # 진단 tarball 생성 후 기술 지원팀에 전달 (모든 컨테이너를 담습니다)
通常是 Cassandra 模式迁移失败或 /data1/pp-data 权限问题。详见 Docker 安装 — 栈无法启动。
其他问题
其他问题请先查看 Docker 安装 页面的问题排查章节,若仍未解决,请联系 webmaster@kopens.com。