单行安装 (推荐)
概览
这是通过单条命令安装 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 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 / 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
脚本将自动执行以下操作:
- 自动检测 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/4949/4950) 及私网限制端口
- 创建服务凭证 Sidecar (
/etc/kopens/plantpulse-platform.env) - 登录容器镜像仓库 (
docker.kopens.io) - 创建 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。
值的确定顺序如下:
| 顺序 | 位置 | 备注 |
|---|---|---|
| 1 | Sidecar /etc/kopens/plantpulse-platform.env | 优先级最高,覆盖下方默认值。请在此修改 |
| 2 | bin/env.sh 的默认值 | 产品定义的默认值 |
| 3 | bin/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_IP | NAT 环境的外部 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。