跳到主要内容
版本:3.1.0(预览)

React 用户指南

主 UI

Ambari 3.1 使用 ambari-web/latest 中的 React 应用作为主要 Web UI。它保留 Ambari shell、身份验证、路由、授权、服务上下文,以及此前由 Ember 应用提供的主要运维工作流。

主要 React 体验涵盖集群安装、主机、服务、配置编辑、后台操作、告警、Kerberos、高可用、升级、管理、Views、服务 Theme,以及权限和功能标志控制。这些工作流已在当前 React 代码树中实现,但仍需结合 Ambari Server、stack、拓扑和用户角色进行验收。

打开 Ambari

正常打开 Ambari Web 基础 URL。3.1 引导页使用主要 React 入口 /latest/#

没有浏览器偏好设置时默认选择 React。必要时,部署可以将旧的浏览器偏好迁移到主要 React 入口。引导行为由 ambari-web/public/index.html 实现。

历史 Ember 应用仅用于迁移比较;本指南不将其作为 3.1 的运行路径介绍。

工作流覆盖范围

安装和主机

Installer 和 Add Host 流程引导 stack 选择、主机注册、引导、组件分配、配置组、安装和请求进度。Hosts 支持分页、排序、筛选、选择、组件操作、维护、停用/重新启用、日志、告警、stack 版本和 Add Host 恢复。

主机选择会在导航和刷新过程中保留。选中的主机镜像到本地浏览器状态,离开 Hosts 模块时筛选条件会重置。近期修复还解决了从 Hosts List 打开 Host Summary 时组件加载问题。

服务和配置

服务页面提供摘要、组件状态、操作、快速链接、配置组、覆盖、验证、建议和只读行为。支持仪表板的服务会显示 Metrics 选项卡。配置保存保留默认组的完整属性集,并报告验证或请求失败。

Capacity Scheduler 使用合并的 capacity-scheduler.xml 键值编辑器。成功修改后,Ambari 可以提示用户刷新 YARN 队列,并向 ResourceManager 提交刷新操作。

后台操作和告警

后台操作整合请求快照、实时更新、任务和主机详情、日志、筛选、进度、失败状态、重试操作和 Request Schedule 状态。轮询是串行的,计划请求与普通请求 ID 保持区分。

React 运维请求从权限检查、Server 持久化任务、Agent 执行到状态更新和重试的完整生命周期

API 接受请求只表示操作已经开始。React 持续读取 Ambari Server 保存的权威请求和任务状态,直到操作成功或失败。

告警提供列表、详情、创建、编辑、删除、分组、授权、轮询和失败反馈。指标告警定义及旧 Metrics 数据不属于非 Metrics 对等范围。

HA、Kerberos 和升级

React 工作流覆盖 NameNode/JournalNode HA、ResourceManager HA、Ranger Admin HA、联邦,以及相关安装、KDC 凭据、持久化、请求进度、重试和所有者路径。Kerberos 支持描述符/配置、凭据门控、服务安装和恢复检查点。

Stack 管理包括版本列表、仓库信息、升级和降级启动、预检查、进度、暂停/恢复、历史、服务帐户和自动启动控制。升级和 HA 工作流在需要时使用持久化检查点和所有者保护。

Views 和 Theme

Views 从已认证的 React shell 列出,并在服务器提供的同源 iframe 上下文中打开。View-only 用户获得精简 shell,并可直接导航到 Views。Ambari Admin 是位于 ambari-admin/src/main/resources/ui/ambari-admin 的独立 React 模块;其打包的 React latest 输出与主 UI 一起构建。

服务 Theme 提供由 Stack 定义的页面布局、配置控件、属性、条件、建议,以及只读状态和权限处理。当前实现已经具备 Theme 解析和具有代表性的使用方;自定义 Stack、复杂条件组合和保存后重新加载的一致性仍需结合真实环境验收。

原生 Monitoring

React 在 /main/monitoring 提供原生 Prometheus 兼容监控区域,包括数据源管理、PromQL 探索、仪表板、仪表板编辑/导入/导出/克隆、抓取目标、共享图表,以及由数据源驱动的集群和服务仪表板。参阅查询和仪表板

监控路由使用 CLUSTER.VIEW_METRICS 保护集群查询、仪表板、探索器和数据源;使用 HOST.VIEW_METRICS 保护抓取目标;使用 SERVICE.VIEW_METRICS 保护服务 Metrics 选项卡;数据源和仪表板修改另有独立的变更保护。

旧版独立 Heatmaps 页面会重定向到 /main/dashboard/metrics。这是明确的替换边界:React 不提供 AMS 或 Ganglia 兼容路径,因此旧 Heatmaps 页面及 AMS/Ganglia 行为不属于尚待补齐的 React 功能。

构建和部署

Maven 的 ambari-web 模块使用配置的 Node/npm 工具链,从 ambari-web/latest 构建主要 React 应用并写入 latest/dist;Maven 会将该输出复制到服务器 Web UI 构件中。独立的 ambari-admin 模块从 src/main/resources/ui/ambari-admin 构建 Admin React 应用,并将输出打包到 classes/latest

升级和管理流程参阅升级指南。部署构件应使用目标 Ambari 安装相同的基础路径、代理上下文和身份验证模式进行检查。

验收清单

本指南的证据边界如下:

  • 已实现工作流:上述领域已有 React 路由、屏幕、API 客户端、权限保护,以及文档化的后备、空状态和错误状态。
  • 真实 stack 验证:安装、升级、服务操作、HA/Kerberos、Views、Theme、Prometheus 数据源连接、目标健康状态和仪表板查询需要真实 Ambari Server 及代表性 stack/拓扑。
  • 角色验证:直接 URL、只读用户、变更权限、View-only 用户、集群隔离和 Admin View 转换需要代表性的授权响应。
  • 恢复验证:浏览器刷新、会话过期、SSO、服务器重启、请求失败、重试、过期响应、轮询清理和持久化工作流所有权需要浏览器/服务器执行验证。
  • 源码参考:React 审计使用 PR4182 head 4e95d2e3 和合并后的 trunk 94c6389a96 作为代码证据。这些引用说明实现来源,不代表所有运行时验证均已完成。