Ambari-Web-3.0.0本地启动与二开环境搭建

Ambari-Web-3.0.0本地启动与二开环境搭建

目前 Kerberos 章节已经推出 FreeIPA 方案,欢迎有需要的查阅,本站也将完成内容迁移。Ttbigdata——Ambari Kerberos 大全

在这里插入图片描述

一、开发环境与工具说明

本文以 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 

本文不再赘述 Git Clone 的基础操作。

2、选择 3.0.0 Release 版本

优先选择 Release 包,而非 master 分支:

https://github.com/apache/ambari/releases/tag/release-3.0.0 
image-20260128102705128

三、打开 Ambari-Web 子工程

1、目录选择原则

下载并解压完成后,不要直接打开 Ambari 根目录

在 WebStorm 中,只需要选择:

ambari/ambari-web 
image-20260128102522583
原因说明
Ambari 根目录同时包含:ambari-server(Java)ambari-agent(Python)ambari-web(前端)

前端二开只需要 ambari-web,避免 IDE 索引大量无关内容。

四、Node 与 Yarn 环境准备

1、Node 版本选择

这里使用 nvm 管理 Node 版本。

nvm install18 nvm use 18
注意
Ambari-Web 对 Node 版本较敏感,Node 20+ 在部分依赖场景下会触发构建异常,
建议直接使用 Node 18 LTS

2、启用 corepack 与 Yarn

corepack enablenpminstallyarn -g 

3、配置国内镜像(强烈建议)

yarn config set registry https://registry.npmmirror.com npm config set registry https://registry.npmmirror.com 

4、清理历史依赖并安装

rm -rf node_modules rm -f yarn.lock yarninstall --ignore-engines yarn config set ignore-engines true
说明
Ambari-Web 的部分依赖声明较老,
--ignore-engines必要操作,否则极易卡在依赖校验阶段。

五、WebStorm 启动配置

1、运行配置参数

在 WebStorm 的 Run / Debug Configuration 中新增 Node.js 配置:

  • Commandrun
  • Scriptsstart
  • Node runtime:选择 nvm 中的 Node 18
  • Package manager:选择 nvm 安装的 yarn
image-20260128103145720

2、启动 Ambari-Web

配置完成后,直接点击运行。

image-20260128103547065

六、访问本地 Ambari-Web

启动成功后,默认监听端口为:

http://localhost:3333 
到这里说明
Ambari-Web 已经可以:正常编译本地热更新断点调试 Ember 逻辑

Read more

已解决centos7 yum报错:cannot find a valid baseurl for repo:base/7/x86_64的解决方案

已解决centos7 yum报错:cannot find a valid baseurl for repo:base/7/x86_64的解决方案

出现cannot find a valid baseurl for repo:base/7/x86_64错误通常是由于YUM仓库源无法找到或无法访问,导致YUM无法正常工作。这种情况常见于CentOS 7系统。解决这个问题需要检查几个方面,如网络连接、DNS设置和YUM仓库源配置。 🧑 博主简介:现任阿里巴巴嵌入式技术专家,15年工作经验,深耕嵌入式+人工智能领域,精通嵌入式领域开发、技术管理、简历招聘面试。ZEEKLOG优质创作者,提供产品测评、学习辅导、简历面试辅导、毕设辅导、项目开发、C/C++/Java/Python/Linux/AI等方面的服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:gylzbk) 💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,

By Ne0inhk
从云原生部署到智能时序分析:基于 Kubernetes 的 Apache IoTDB 集群实战与 TimechoDB 国产化增强特性深度解析

从云原生部署到智能时序分析:基于 Kubernetes 的 Apache IoTDB 集群实战与 TimechoDB 国产化增强特性深度解析

从云原生部署到智能时序分析:基于 Kubernetes 的 Apache IoTDB 集群实战与 TimechoDB 国产化增强特性深度解析 前言 随着物联网设备规模的指数级增长,传感器产生的海量时序数据对传统数据库的性能、可扩展性与成本控制提出了更高要求。Apache IoTDB 作为专为物联网场景设计的时序数据库,凭借高压缩比、百万级写入能力及毫秒级查询性能,成为物联网数据存储与分析的核心基础。本文将从 IoTDB 的核心特性 出发,深入讲解其在 Kubernetes 环境中的部署实践、CRUD 操作示例,并延伸至 TimechoDB 的国产化增强能力,帮助读者全面掌握从单节点到云原生集群的 IoTDB 实战部署与应用方法,为构建高效、可扩展的时序数据平台提供系统参考。 Apache IoTDB 核心特性与价值 Apache IoTDB 专为物联网场景打造的高性能轻量级时序数据库,以 “设备 - 测点” 原生数据模型贴合物理设备与传感器关系,通过高压缩算法、百万级并发写入能力和毫秒级查询响应优化海量时序数据存储成本与处理效率,同时支持边缘轻量部署、

By Ne0inhk

Docker 零基础入门:一篇搞懂 Docker 是什么、为什么要用它

适合人群:纯新手、没接触过容器、只想先搞懂 Docker 核心概念的同学文章定位:不讲底层原理、不写复杂命令,只说清楚「Docker 是干啥的」「为什么项目离不开它」 一、前言:先说说你一定会遇到的痛点 做开发 / 运维的朋友,大概率都听过这句话:「在我电脑上跑的好好的,怎么到服务器上就报错了?」 * 开发用 Windows,测试用 Mac,生产用 Linux,环境不一样 * 项目依赖的 JDK、Python、MySQL、Nginx 版本不统一 * 装一个软件要配一堆环境,换台机器就得重来一遍 * 多个项目依赖冲突,改一个崩另一个 这些问题,Docker 就是专门来解决的。 二、Docker 到底是什么?(大白话版) 1. 最通俗的比喻:Docker = 「软件集装箱」 你可以把服务器看成一艘大货轮,应用

By Ne0inhk
【Linux指南】进程控制系列(五)实战 —— 微型 Shell 命令行解释器实现

【Linux指南】进程控制系列(五)实战 —— 微型 Shell 命令行解释器实现

前面四篇文章,我们已经掌握了进程控制的 “全链路技能”:用fork创建子进程、exec替换程序、waitpid回收资源、exit终止进程。今天,我们将这些知识 “组装” 成一个能实际运行的工具 ——微型 Shell 命令行解释器(简称 “迷你 Shell”)。 这个迷你 Shell 将支持:命令行提示符(如[user@host dir]#)、内建命令(cd/export/env/echo)、外部命令(ls/ps等)、环境变量管理(继承与导出),完全遵循 Linux Shell 的核心工作逻辑。通过亲手实现,你会彻底明白 “输入一条命令后,Shell 到底在做什么”。 一、先搞懂:Shell 的本质是 “命令管家” 在写代码前,

By Ne0inhk