Alldata 数据中台部署实战:从单机到三节点集群,10 分钟跑通全链路
【免费下载链接】alldata🔥🔥 AllData可定义数据中台,以数据平台为底座,以数据中台为桥梁,以机器学习平台为工厂,以大模型应用为上游产品,提供全链路数字化解决方案。产品正式演示体验、社群咨询、商务采购:https://docs.qq.com/doc/DVHlkSEtvVXVCdEFo项目地址: https://gitcode.com/GitHub_Trending/al/alldata
Alldata 是一款可定义的数据中台,覆盖数据集成、元数据管理、数据标准、数据质量、数据资产、BI 报表等能力。这篇文章带你按"初始化数据库 → 启动核心服务 → 跑通前端 → 打包上生产"的路径,把它部署起来,并顺手解决编码、私服依赖、菜单权限这三个高频坑。
部署前先看清单:6 个依赖的最低版本
Alldata 是典型的微服务架构,后端 moat/ 目录承载全部服务,前端 moat_ui/ 是 Vue 工程。动手之前,先把下面这张表对着你的环境核对一遍:
| 依赖 | 最低版本 | 用途 |
|---|---|---|
| JDK | 1.8 | 运行所有后端服务,打包时务必切到 1.8 |
| MySQL | 5.7.0 | 存储元数据、业务配置,推荐 5.7 及以上 |
| Redis | 3.0 | 缓存 |
| Maven | 3.0 | 后端构建 |
| Node.js | 10.15.3 | 前端开发/构建,建议用 nvm 管理版本 |
| RabbitMQ | 3.0.x | 消息队列 |
⚠️MySQL 8 用户注意:脚本是按 5.7 编码习惯写的,用 8.0 导入时很可能遇到乱码或建库失败,优先确认字符集为
utf8mb4,或直接使用 5.7。
如果依赖还没装,开发环境建议直接上 Docker 起 MySQL、Redis、RabbitMQ 三个容器,省去版本折腾。
数据库怎么初始化:按顺序导入 5 个脚本
目的:给平台建好全部基础表结构和菜单数据。
先建一个名为studio的数据库,然后到 install/sql/ 目录按文件名顺序执行:
source alldata-install.sql; # 基础表结构 source alldata-v0.6.1.sql; # 版本迭代脚本,依次导入到 v0.6.4 source alldata-v0.6.2.sql; source alldata-v0.6.3.sql; source alldata-v0.6.4.sql;预期结果:studio库中出现若干张系统、菜单、数据源相关的表。如果你要启用 BI 报表能力,还需按 quickstart/quickstart_bi.md 再导入 BI 相关 SQL,并在"元数据管理"和"BI报表"里分别配置数据源。
单机的第一组服务:谁必须启动,怎么验证
改完数据库后,还差一份配置:编辑 moat/config/src/main/resources/config/ 下的application-common-dev.yml,把 MySQL、Redis、RabbitMQ 的连接信息改成你自己的。
接下来把代码导入 IDEA(首次加载 Maven 依赖较慢,属正常现象),依次启动这 4 个入口类:
DataxEurekaApplication(注册中心)DataxConfigApplication(配置中心)DataxGatewayApplication(API 网关)SystemServiceApplication(系统服务)
说明两点:
- 本地开发时,
config、gateway等各模块的bootstrap.yml中 eureka 地址要改成localhost,否则会找不到注册中心。 - 其中
SystemServiceApplication是关键——不启动它,前端页面根本无法登录。
预期结果:浏览器访问http://localhost:8610/,看到 Eureka 控制台且实例列表里出现已注册的服务,说明基础链路已通。
各业务模块按需追加即可,常见入口对照:
| 模块 | 入口类 |
|---|---|
| 数据集成 | DataDtsServiceApplication(data-dts) |
| 元数据管理 | DataxMetadataApplication(data-metadata-service) |
| 数据标准 / 质量 | DataxStandardApplication/DataxQualityApplication |
| 数据资产 / 市场 | DataxMasterdataApplication/DataxMarketApplication |
| BI 报表 / 可视化 | DataxVisualApplication(data-visual-service) |
| 定时任务 / 邮件 / 文件 | DataxQuartzApplication/DataxMailApplication/DataxFileApplication |
前端怎么跑起来,怎么算启动成功
目的:拿到可登录的界面。
cd moat_ui nvm use v16.20.2 # 按本地版本切换,Node 版本过低会报 babel 相关错误 npm install # 安装依赖 npm run dev # 启动开发服务器预期结果:浏览器自动弹出登录页,访问http://localhost:8013,用admin/123456登录。能看到系统管理菜单即代表前后端全链路打通。✅
为什么打包会失败:一个没上架的私服依赖
⚠️这是最常见的构建失败点:
common模块依赖aspose-words,公共 Maven 仓库里没有,必须手动安装到本地仓库,否则mvn package直接报依赖找不到。
先切到 JDK 1.8 环境,然后执行:
cd moat/common mvn install:install-file -Dfile=aspose-words-20.3.jar \ -DgroupId=com.aspose -DartifactId=aspose-words \ -Dversion=20.3 -Dpackaging=jar安装成功后刷新依赖,接着在项目根目录执行mvn clean install -DskipTests && mvn clean package -DskipTests,产物是build/alldata-release-0.6.x.tar.gz,上传到服务器解压即可进入部署阶段。
单机还是集群:按规模做选择
All in One(单节点):适合测试验证。按 eureka → config → gateway → 其余业务 Jar 的顺序逐个拉起即可。
三节点集群(16gmaster / 16gslave / 16gdata):适合生产。官方在 install/ 下按节点分好了启动脚本,服务分布如下:
| 节点 | 服务 | 端口 |
|---|---|---|
| 16gmaster | system-service、data-market-service、service-data-integration、data-metadata-service、data-system-service、service-data-dts、config | 8000 / 8822 / 8824 / 8820 / 8810 / 9536 / 8611 |
| 16gslave | eureka、data-metadata-service-console、service-data-mapping、data-masterdata-service、data-quality-service | 8610 / 8821 / 8823 / 8828 / 8826 |
| 16gdata | data-standard-service、data-visual-service、email-service、file-service、quartz-service、gateway | 8825 / 8827 / 8812 / 8811 / 8813 / 9538 |
启动节奏是"先骨架、再血肉":
- 在 16gslave 单独启动 eureka(注册中心必须最先就位);
- 在 16gmaster 单独启动 config;
- 在 16gdata 单独启动 gateway;
- 三个节点分别执行
sh start16gslave.sh、sh start16gdata.sh、sh start16gmaster.sh拉起各自业务服务。
预期结果:eureka 控制台能看到全部节点的服务注册;用任一节点的 gateway 端口访问前端即可。
页面打开但菜单不见了,怎么排查
⚠️菜单缺失 ≠ 服务没装:数据集成等模块的菜单依赖数据库脚本导入 + 角色授权两步,缺一步菜单就不会显示。
处理流程以"数据集成"为例,其他模块同理:
- 进入 系统管理 → 菜单管理,新增【数据集成】目录及其子菜单;
- 进入 角色管理,为 admin 账号勾选该目录及菜单的数据权限;
- 刷新页面或重新登录,菜单即出现。
📌 其他高频问题速查:
- 前端
npm run dev报 babel/webpack 模块找不到:Node 版本不对,用 nvm 切到 10.15.3 或 16.x 重试。 - 服务启动后 Eureka 看不到实例:检查
bootstrap.yml里 eureka 地址是否指向了正确节点(本地是 localhost)。 - 元数据导出文档报错:大概率还是
aspose-words没装进本地仓库,回上一节补装。
小结
整套部署的骨架可以记成一句话:数据库按序导脚本,application-common-dev.yml改三处连接,四个核心入口类(Eureka、Config、Gateway、System)拉起来,前端 8013 登录验证;上生产则先装 aspose-words、打包出 tar 包,再按 eureka → config → gateway 的顺序铺三节点。模块可以按需增删,按需只启动你需要的服务,就是最轻量的数据中台形态。
【免费下载链接】alldata🔥🔥 AllData可定义数据中台,以数据平台为底座,以数据中台为桥梁,以机器学习平台为工厂,以大模型应用为上游产品,提供全链路数字化解决方案。产品正式演示体验、社群咨询、商务采购:https://docs.qq.com/doc/DVHlkSEtvVXVCdEFo项目地址: https://gitcode.com/GitHub_Trending/al/alldata
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考