跳到主要内容

一行安装 (推荐)

概述

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 Linux8.x
RHEL / Rocky Linux8.x, 9.x
Ubuntu20.04+ (20 / 22 / 24)
Amazon Linux2, 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

脚本自动执行的操作:

  1. OS 自动检测(RHEL/Rocky/Oracle 8·9、Ubuntu 20+、Amazon Linux)
  2. Docker Engine + Compose v2 安装及守护进程配置(data-root)
  3. 内核 / 资源优化(limits.confsysctl.confchrony.conftmpfiles.d
  4. SELinux 切换为 permissive 并禁用 swap
  5. 防火墙端口自动开放 — 公网端口(80/443/7443/4949/4950)及私网限制端口
  6. 创建服务账户边车(/etc/kopens/plantpulse-platform.env
  7. 容器镜像仓库(docker.kopens.io)登录
  8. 创建 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 / enen — 韩国运营则改为 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_IPNAT 环境的外部 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