开箱即用的智慧城市一网统管 AI 平台——技术栈选型及部署指南(4、5)
Worker 节点:3 台(通用)+3 台(GPU,AI 场景),8 核 CPU+32GB 内存 + 500GB 数据盘;Control 节点:3 台,16 核 CPU+16GB 内存 + 500GB 数据盘;存储节点:4 台,4 核 CPU+16GB 内存 + 3TB 数据盘(Ceph);启动脚本(save as start-middlewares.sh,按需修改密码)本地存储(OpenEBS)
四、技术栈选型
4.1 核心技术栈
|
类别 |
技术 / 组件 |
版本 |
用途说明 |
|---|---|---|---|
|
容器平台 |
KubeSphere |
v4.1.2 |
集群管理、应用部署、运维监控 |
|
物联网平台 |
ThingsBoard CE |
最新稳定版 |
设备接入、遥测数据管理、告警规则配置 |
|
开发框架 |
芋道源码(Ruoyi-Vue) |
最新稳定版 |
后台管理、表单组件、权限控制 |
|
流程引擎 |
Flowable |
6.x |
工单流程、审批流程(如预警派单、评价审核) |
|
数据库 |
MySQL/PostgresSQL |
8.0+/14+ |
业务数据存储(按分层前缀命名) |
|
存储 |
OpenEBS+Ceph |
最新稳定版 |
本地存储(OpenEBS)+ 共享存储(Ceph) |
|
前端可视化 |
ECharts/Leaflet |
5.x/1.9.x |
大屏图表、GIS 地图(区域 / 设施定位) |
|
AI 大模型 |
豆包 / 通义千问 / OpenAI |
最新 API 版 |
智能识别、决策辅助、客服问答 |
4.2 数据库设计规范
数据库表按 “六层结构” 设计,前缀区分层级,确保规范统一:
-
基础信息层(
sys_):全系统复用数据(如sys_user用户表、sys_area行政区划表); -
业务数据层(
biz_):核心业务数据(如biz_asset资产表、biz_event事件表); -
关联关系层(
rel_):解耦多对多关系(如rel_asset_grid资产 - 网格关联表); -
分析统计层(
stat_):预计算统计数据(如stat_event_daily事件日统计表); -
行业应用层(
gen_):行业特化数据(如gen_gas_pipe_mon燃气管网监测表); -
大屏总览层(
view_):可视化适配数据(如view_overview全局核心指标表)。
五、部署指南
5.1 环境准备
- 硬件要求
:
-
Control 节点:3 台,16 核 CPU+16GB 内存 + 500GB 数据盘;
-
Worker 节点:3 台(通用)+3 台(GPU,AI 场景),8 核 CPU+32GB 内存 + 500GB 数据盘;
-
存储节点:4 台,4 核 CPU+16GB 内存 + 3TB 数据盘(Ceph);
- 软件要求
:
-
操作系统:openEuler 24.03 LTS SP1 x86_64;
-
容器运行时:Containerd 1.7.13;
-
部署工具:KubeKey v3.1.7。
5.2 部署步骤
快速搭建
一 需求与环境准备
-
中间件与版本建议
- JDK 17 或 21(LTS)
- Nacos 2.4.x
- MySQL 8.0
- Redis 6/7
-
目标
-
本地或服务器一键准备好中间件与 Java 运行环境 -JAR 按依赖顺序启动:yudao-gateway → yudao-module-system-server → yudao-module-bpm-server → gc-module-datacenter-server → gc-module-industry-server
-
-
快速检查
-
端口占用排查:8848(Nacos)/ 3306(MySQL)/ 6379(Redis)/ 8080-9000(各服务)
-
建议将本机或服务器的 hosts 配置指向中间件(如 127.0.0.1 nacos mysql redis)
-
二 中间件安装与初始化
-
启动脚本(save as start-middlewares.sh,按需修改密码)
#!/usr/bin/env bash
set -eux
# 变量
MYSQL_ROOT_PW="Root@123456"
REDIS_PW="YourRedisPass"
DB_NAME="nacos"
NACOS_DIR="/opt/nacos"
REDIS_CONF="/etc/redis.conf"
# 关闭防火墙与 SELinux(快速启动场景)
systemctl stop firewalld && systemctl disable firewalld
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
# 关闭交换分区
swapoff -a
sed -i '/\sswap\s/s/^/#/' /etc/fstab
# 安装基础工具
dnf update -y
dnf install -y wget unzip vim net-tools lsof
# JDK 17
dnf install -y java-17-openjdk-devel
java -version
# MySQL 8.0
dnf install -y @mysql:8.0
systemctl enable --now mysqld
grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p -e "
CREATE DATABASE IF NOT EXISTS ${DB_NAME} CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '${MYSQL_ROOT_PW}';
FLUSH PRIVILEGES;
"
echo "[mysql] OK"
# Redis 7
dnf install -y redis
cp ${REDIS_CONF} ${REDIS_CONF}.bak
cat > ${REDIS_CONF} <<EOF
bind 0.0.0.0
port 6379
appendonly yes
requirepass ${REDIS_PW}
daemonize no
pidfile /var/run/redis_6379.pid
EOF
systemctl enable --now redis
redis-cli -a ${REDIS_PW} ping && echo "Redis OK" || echo "Redis FAIL"
# Nacos 2.4.2
curl -O https://github.com/alibaba/nacos/releases/download/2.4.2/nacos-server-2.4.2.tar.gz
tar -xzf nacos-server-2.4.2.tar.gz -C /opt && ln -s /opt/nacos-server-2.4.2 /opt/nacos
mkdir -p /opt/nacos/logs
# 导入 Nacos 库(MySQL 已内置 schema,此处仅示例)
# mysql -uroot -p${MYSQL_ROOT_PW} ${DB_NAME} < /opt/nacos/conf/mysql-schema.sql
# 配置 Nacos 外置库(按需)
# sed -i "/^db.url.0=/c\db.url.0=jdbc:mysql://127.0.0.1:3306/${DB_NAME}?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai" /opt/nacos/conf/application.properties
# sed -i "/^db.user.0=/c\db.user.0=root" /opt/nacos/conf/application.properties
# sed -i "/^db.password.0=/c\db.password.0=${MYSQL_ROOT_PW}" /opt/nacos/conf/application.properties
# 启动 Nacos(单机)
/opt/nacos/bin/startup.sh -m standalone
tail -f /opt/nacos/logs/start.out
echo "All done. Access Nacos: http://127.0.0.1:8848/nacos (nacos/nacos)"
三 平台服务启动
-
下载并解压平台代码包
-
按依赖顺序启动 JAR 包
java -jar yudao-gateway.jar
java -jar yudao-module-system-server.jar
java -jar yudao-module-bpm-server.jar
java -jar gc-module-datacenter-server.jar
java -jar gc-module-industry-server.jar
5.3 参考文档
-
《系统部署架构设计文档》:
docs/deployment/系统部署架构``-20251018.md -
《ThingsBoard 配置指南》:
docs/guide/ThingsBoard_CE配置手册.md -
《芋道源码集成指南》:
docs/guide/芋道源码二次开发手册.md
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)