Ambari-Web-3.0.0本地启动与二开环境搭建
# 一、开发环境与工具说明
本文以 Ambari 3.0.0 为目标版本,介绍 Ambari-Web 的本地启动流程。
# 1、IDE 与开发方式选择
这里使用 WebStorm 作为 Ambari-Web 二次开发的主要 IDE,原因如下:
- 对 Node / Yarn / NVM 支持完善
- 对前端项目运行配置友好
- 日志、断点、控制台集成度高
说明
Ambari-Web 本质是一个 Ember.js 前端工程,与 ambari-server 后端解耦, 本地启动不依赖 Java、Maven 或 Ambari Server。
# 二、获取 Ambari-Web 源码
# 1、源码仓库说明
Ambari 官方仓库地址:
https://github.com/apache/ambari
1
本文不再赘述 Git Clone 的基础操作。
# 2、选择 3.0.0 Release 版本
优先选择 Release 包,而非 master 分支:
https://github.com/apache/ambari/releases/tag/release-3.0.0
1

# 三、打开 Ambari-Web 子工程
# 1、目录选择原则
下载并解压完成后,不要直接打开 Ambari 根目录。
在 WebStorm 中,只需要选择:
ambari/ambari-web
1

原因说明
Ambari 根目录同时包含:
- ambari-server(Java)
- ambari-agent(Python)
- ambari-web(前端)
前端二开只需要 ambari-web,避免 IDE 索引大量无关内容。
# 四、Node 与 Yarn 环境准备
# 1、Node 版本选择
这里使用 nvm 管理 Node 版本。
nvm install 18
nvm use 18
1
2
2
注意
Ambari-Web 对 Node 版本较敏感,Node 20+ 在部分依赖场景下会触发构建异常, 建议直接使用 Node 18 LTS。
# 2、启用 corepack 与 Yarn
corepack enable
npm install yarn -g
1
2
2
# 3、配置国内镜像(强烈建议)
yarn config set registry https://registry.npmmirror.com
npm config set registry https://registry.npmmirror.com
1
2
2
# 4、清理历史依赖并安装
rm -rf node_modules
rm -f yarn.lock
yarn install --ignore-engines
yarn config set ignore-engines true
1
2
3
4
5
2
3
4
5
说明
Ambari-Web 的部分依赖声明较老,
--ignore-engines 是必要操作,否则极易卡在依赖校验阶段。
# 五、WebStorm 启动配置
# 1、运行配置参数
在 WebStorm 的 Run / Debug Configuration 中新增 Node.js 配置:
- Command:
run - Scripts:
start - Node runtime:选择 nvm 中的 Node 18
- Package manager:选择 nvm 安装的 yarn

# 2、启动 Ambari-Web
配置完成后,直接点击运行。

# 六、访问本地 Ambari-Web
启动成功后,默认监听端口为:
http://localhost:3333
1
到这里说明
Ambari-Web 已经可以:
- 正常编译
- 本地热更新
- 断点调试 Ember 逻辑