Ambari Web 3.0.0 本地启动与二次开发环境搭建
介绍如何在本地搭建 Ambari-Web 3.0.0 的开发环境。主要步骤包括选择 Release 版本源码、使用 WebStorm 打开 ambari-web 子工程、配置 Node 18 LTS 及 Yarn 环境、设置国内镜像并安装依赖。最后通过 WebStorm 运行配置启动服务,实现本地热更新与断点调试,无需依赖后端 Java 环境。

介绍如何在本地搭建 Ambari-Web 3.0.0 的开发环境。主要步骤包括选择 Release 版本源码、使用 WebStorm 打开 ambari-web 子工程、配置 Node 18 LTS 及 Yarn 环境、设置国内镜像并安装依赖。最后通过 WebStorm 运行配置启动服务,实现本地热更新与断点调试,无需依赖后端 Java 环境。


微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
本文以 Ambari 3.0.0 为目标版本,介绍 Ambari-Web 的本地启动流程。
这里使用 WebStorm 作为 Ambari-Web 二次开发的主要 IDE,原因如下:
说明
Ambari-Web 本质是一个 Ember.js 前端工程,与 ambari-server 后端解耦,
本地启动不依赖 Java、Maven 或 Ambari Server。
Ambari 官方仓库地址:
https://github.com/apache/ambari
本文不再赘述 Git Clone 的基础操作。
优先选择 Release 包,而非 master 分支:
https://github.com/apache/ambari/releases/tag/release-3.0.0

下载并解压完成后,不要直接打开 Ambari 根目录。
在 WebStorm 中,只需要选择:
ambari/ambari-web

原因说明
Ambari 根目录同时包含:ambari-server(Java)ambari-agent(Python)ambari-web(前端)
前端二开只需要 ambari-web,避免 IDE 索引大量无关内容。
这里使用 nvm 管理 Node 版本。
nvm install 18
nvm use 18
注意
Ambari-Web 对 Node 版本较敏感,Node 20+ 在部分依赖场景下会触发构建异常,
建议直接使用 Node 18 LTS。
corepack enable
npm install yarn -g
yarn config set registry https://registry.npmmirror.com
npm config set registry https://registry.npmmirror.com
rm -rf node_modules
rm -f yarn.lock
yarn install --ignore-engines
yarn config set ignore-engines true
说明
Ambari-Web 的部分依赖声明较老,
--ignore-engines是必要操作,否则极易卡在依赖校验阶段。
在 WebStorm 的 Run / Debug Configuration 中新增 Node.js 配置:
runstart
配置完成后,直接点击运行。

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