系统要求
运行 Sight Report / Sight Wall 所需的 JDK、内存、操作系统、平台数据库、端口与浏览器要求。
概述
Sight Report 与 Sight Wall 是 Java 程序,服务端以 sight-*.jar 形式运行,前端页面已随 jar 一起提供。本文列出运行环境的要求。凡源码中没有给出硬性数字的项,文中会明确写出“无硬性下限”,不做推测。
Java 运行时
| 项目 | 要求 |
|---|---|
| 版本 | JDK 21 或更高。后端以 Java 21 编译,启动脚本会检查主版本号,低于 21 直接报错退出 |
| 类型 | JDK 或 JRE 均可,需是包含完整标准模块的发行版(如 Temurin 的 JRE 21),不建议使用 jlink 裁剪过的精简镜像;java 需在 PATH 中。2.0.61 之前的版本运行期会用到 javac,必须是 JDK |
| 验证 | java -version |
内存与 CPU
| 项目 | 说明 |
|---|---|
| 最低配置 | 源码中没有规定 CPU 核数与内存的硬性下限 |
| 堆内存 | 启动脚本不设 JVM_XMX 时,使用 -XX:MaxRAMPercentage=75,即最大堆为可用内存的 75%(JDK 会识别容器与物理内存) |
| 小内存提示 | 检测到总内存小于 2GB 且未设置 JVM_XMX 时,脚本会提示“总内存约 …MB(<2GB)”,建议设置 JVM_XMX 或扩容 |
| 生产建议 | 程序包自带说明建议显式设置 JVM_XMX 为 8g 或以上 |
| OOM 处理 | 脚本加了 -XX:+ExitOnOutOfMemoryError,内存溢出时进程退出,由系统服务负责拉起 |
可用的环境变量:
| 变量 | 作用 | 默认 |
|---|---|---|
SPRING_PROFILES_ACTIVE |
配置档 | prod |
JVM_XMX |
最大堆,如 8g;设置后堆固定 |
不设则自适应 |
JVM_XMS |
初始堆,仅在设置了 JVM_XMX 时生效 |
与 JVM_XMX 相同 |
JVM_RAM_PCT |
未设 JVM_XMX 时堆占可用内存的百分比 |
75 |
JVM_OPTS |
追加任意 JVM 参数 | 空 |
操作系统
| 系统 | 启动 | 安装为服务 |
|---|---|---|
| Linux | ./start.sh |
sudo ./install.sh(systemd) |
| macOS | ./start.sh |
sudo ./install.sh(launchd) |
| Windows | start.bat |
管理员身份运行 install.bat(注册开机自启) |
启动脚本固定使用时区 Asia/Shanghai 和 UTF-8 编码(-Duser.timezone=Asia/Shanghai -Dfile.encoding=UTF-8)。
端口与目录
| 项目 | Sight Report | Sight Wall |
|---|---|---|
| 程序包 | sight-report.jar |
sight-wall.jar |
默认端口(server.port) |
9091 |
9090 |
| 初始化页面 | /setup |
/setup |
程序在 jar 同级目录生成 data/(本地数据、配置、授权信息、会话缓存、data/backups 自动备份、data/drivers JDBC 驱动、data/fonts 字体、data/plugins 插件)与 logs/(Sight Report 为 sight-data-info.log、sight-data-error.log,Sight Wall 为 sight-wall-info.log、sight-wall-error.log)。上传文件单个上限:Sight Report 200MB(请求总大小 220MB),Sight Wall 50MB(请求总大小 100MB)。
平台数据库
平台自身的数据(用户、权限、报表文件、配置)保存在“平台数据库”中,在 初始化向导 里选择:
| 选项 | 说明 |
|---|---|
| 内置数据库 | H2 文件库,位于 data/work/db,适合试用和少量用户 |
| 外接数据库 | MySQL、MariaDB、PostgreSQL、Oracle、SQL Server、达梦 DM、人大金仓 KingBase、华为 GaussDB / OpenGauss、海量 Vastbase G100、阿里云 PolarDB、OceanBase(MySQL 模式)、TiDB、Greenplum |
表结构由 Flyway 在启动时自动迁移,不需要手工建表;只需事先建好库和用户。
集群模式下使用 Redis 在节点间共享会话等运行状态,Redis 支持单机(standalone)、哨兵(sentinel)和集群(cluster)三种模式,具体配置见 集群与高可用。单机部署时会话缓存使用本地 H2 磁盘缓存,不需要 Redis。
业务数据源
业务数据连接(报表、大屏取数用)支持的数据库类型见 支持的数据库。类型名后带“(需上传驱动)”的,需先在「系统 > 数据连接 > 驱动管理」上传对应的 JDBC 驱动 .jar。
浏览器
| 项目 | 说明 |
|---|---|
| 官方声明的最低版本 | 源码中没有声明具体的最低浏览器版本 |
| 前端技术栈 | Vue 3 + Element Plus,用 Vite 7 构建 |
| 构建目标 | 前端 package.json 的 browserslist 生产配置为 > 1%、not dead、not op_mini all;构建工具使用其默认目标(较新的主流浏览器) |
| 建议 | 使用 Chrome 或 Edge 的较新版本 |
开发与自行构建(可选)
从源码构建时需要:JDK 21(Maven 编译目标 Java 21)、Node.js 22 或更高(前端 engines.node 为 >=22)、pnpm。仅部署程序包的用户不需要这些。