跳到主要内容

单行安装 (推荐)

概览​

这是通过单条命令安装 PlantPulse Platform 最快的方法。该脚本会从下载服务器获取安装脚本,自动执行 OS 设定、Docker 安装、防火墙配置以及 Docker Compose 栈启动。

适用场景: 适用于在标准环境(Oracle Linux 8 / RHEL 9 / Ubuntu 20.04+ / Amazon Linux 2023)中使用默认配置进行快速安装的情况。在需要逐步审查详细设置的生产环境下,建议参考 Docker 安装 页面的手动安装步骤。

安装模式选择​

在安装前,请先决定采用哪种配置进行安装。

配置服务器数量推荐场景指南
单机 (FULL) — 默认1台 (推荐 256GB, 最小 128GB)标准配置。按照本页面步骤执行本页面
隔离网络 (Airgap)—无互联网连接环境隔离网络安装

以下步骤基于 单机(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 / 128GB RAM / 1TB SSD (生产建议 32 vCPU / 256GB RAM) — 必须能为数据湖 Master 分配 96GB 以上内存,64GB 不在支持范围内 (系统要求)

在隔离网络(Airgap)环境下无法使用单行安装。请参考 隔离网络安装 页面的步骤。

执行安装​

通过 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.conf, sysctl.conf, chrony.conf, tmpfiles.d)
  4. 将 SELinux 转换为 permissive 模式并禁用 swap
  5. 自动开放防火墙端口 — 公开端口 (80/443/4949/4950) 及私网限制端口
  6. 创建服务凭证 Sidecar (/etc/kopens/plantpulse-platform.env)
  7. 登录容器镜像仓库 (docker.kopens.io)
  8. 创建 Docker 网络 / 卷并 启动 compose 栈
启动结果

安装完成后,九个容器将全部持续运行 — 证书 (plantpulse-certs)、基础设施 (plantpulse-datalake)、六个应用 (plantpulse-server-web · plantpulse-batch-web · plantpulse-warehouse-web · plantpulse-plugin-opcua-server · plantpulse-plugin-aasx-server · plantpulse-ha)、Edge (plantpulse-proxy)。

详细配置请参考 Docker 安装 — 安装形态。

安装脚本在启动栈后将 持续轮询直到准备就绪。虽然进程启动本身仅需 3~5 分钟 (JVM 预热),但由于全新安装需要进行 Aster TSDB 模式迁移和稳定化,所有组件达到稳定状态需要 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。在直接执行下载至节点的 bin/install.sh 时,可通过环境变量指定跳过防火墙 (SKIP_FW=1)、跳过镜像仓库登录 (SKIP_LOGIN=1) 或更改 Docker data-root 路径 (DOCKER_DATA_DIR, 默认 /data1/docker-data) → 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)
并非因为 docker ps 中缺少 plantpulse-platform 而失败

该名称的单容器配置已被废弃。默认安装中启动的是 以下九个:

plantpulse-certs · plantpulse-datalake · plantpulse-server-web · plantpulse-batch-web · plantpulse-warehouse-web · plantpulse-plugin-opcua · plantpulse-plugin-aasx · plantpulse-ha · plantpulse-proxy

第十个 plantpulse-mirror-maker 默认不会启动 — 仅在启用 compose 的 mirror Profile 时才会出现。未看到该容器是正常现象 → 实用工具模块

旧版 Runbook 中的 docker logs plantpulse-platform 已失效。请通过 ./logs.sh 查看日志。

若所有项目均正常,请通过浏览器访问 Web 控制台。

https://[서버IP] # 웹 콘솔 (80/443, plantpulse-proxy 가 받습니다)
https://[서버IP] # 관리 UI (웹 콘솔과 같은 주소)
https://[서버IP]:4950 # 모니터 UI
  • 默认管理员账号:admin / admin123!
  • 登录后请务必更改密码。 → 初始密码

安装后环境变量调整​

单行安装会根据主机情况自动计算资源值,因此在大多数服务器上 无需手动修改。仅需调整无法自动确定的值(如 Locale)。

修改位置为 Sidecar 文件。

vi /etc/kopens/plantpulse-platform.env
cd /opt/kopens/plantpulse-platform-docker/bin && ./restart.sh

每行格式为 이름=값。

PP_LANG=ko
DOCKER_PP_EXTERNAL_IP=203.0.113.10
请勿修改 bin/env.sh — 重新安装时将被删除

安装脚本在重新安装时会 删除整个安装树并重新下载。/opt/kopens/plantpulse-platform-docker 直接在下方手动写入的值将在重新安装或升级时全部丢失。

Sidecar /etc/kopens/plantpulse-platform.env 位于安装树之外,因此 会保留。 它在安装时创建,权限为 0600。

值的确定顺序如下:

顺序位置备注
1Sidecar /etc/kopens/plantpulse-platform.env优先级最高,覆盖下方默认值。请在此修改
2bin/env.sh 的默认值产品定义的默认值
3bin/env.sh 下方的显式 export 行最后读取,优先级最高,但 重新安装后消失

经常调整的项目:

变量说明默认值
PP_LANG平台 Locale (ko / en)en — 若为韩语运行请设为 ko
PP_TZ平台时区Asia/Seoul
DOCKER_PP_CPUS分配给容器的 vCPU 数nproc 结果 (自动)
DOCKER_PP_MEMORY内存上限主机 RAM 的 90% (自动)
DOCKER_DATALAKE_MEMORY数据湖内存上限96G (最小值),不超过主机 RAM 的 90% — 主机低于 107G 则规格不足
DOCKER_PP_DATA_DISK_NAME数据磁盘名称自动反向追踪 (失败时使用 sda)
DOCKER_PP_EXTERNAL_IPNAT 环境的外部 Advertise IP空值 — 非 NAT 环境请留空
请勿随意填写 DOCKER_PP_EXTERNAL_IP

该值将进入 TLS 证书的 SAN 列表。输入无效 IP 将导致 无法生成任何证书,从而导致栈无法启动。

默认 Locale 为 en。若要以韩语运行,请在 Sidecar 中输入 PP_LANG=ko 并通过 ./restart.sh 应用。由于时序数据以 KST 为基准加载,在韩语运行环境下请将 PP_TZ 维持在 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 점검
./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 생성 후 기술 지원팀에 전달 (모든 컨테이너를 담습니다)

极有可能是 Aster TSDB 模式迁移失败或 /data1/pp-data 权限问题。详细步骤请参阅 Docker 安装 — 栈无法启动的情况。

进一步咨询​

其他问题请先查阅 Docker 安装 页面的问题解决章节。若仍未解决,请联系 webmaster@kopens.com。