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

SPA(Single Page Application) Web 应用(即单页应用)架构模式 更新

目录 一、SPA应用更新部署的核心痛点 二、无刷新更新的具体危害梳理 三、解决方案 1、在App.vue 入口中监听路由变化进行判断是否更新 2、轮询方式检查版本更新 3、服务器推送 Server-Sent Events (SSE) 实现 4、使用webSocket 实现 四、其他用户体验优化策略 1、渐进式提示设计 2、智能延迟策略 3、一些其他完整项目 一、SPA应用更新部署的核心痛点 现代前端系统普遍采用SPA单页应用架构,依托路由切换实现无刷新页面交互,用户体验流畅度大幅提升,但也带来了更新部署后的资源同步难题。核心问题集中在以下两点: * 用户无感知更新,资源无法自动同步:用户长时间停留在系统内操作,仅通过菜单切换、页面交互等常规操作,不会触发页面整体刷新,浏览器始终加载并使用首次进入系统时缓存的旧版本静态资源,完全感知不到后端已完成系统更新部署,始终使用旧版功能界面。 * hash打包文件覆盖部署,引发资源失效卡死:前端项目常规采用hash值打包静态资源(JS、

离线部署大模型Ollama+DeepSeek+Open-WebUI 完整指南

离线部署大模型Ollama+DeepSeek+Open-WebUI 完整指南 一、整体架构与核心组件 1. 架构流程图 硬件环境Ollama 运行框架模型管理DeepSeek-R1 模型第三方模型导入服务暴露命令行交互API 服务局域网访问Open-WebUI 可视化界面功能应用聊天交互本地知识库图像生成 2. 核心组件说明 组件作用核心优势Ollama本地大模型运行框架跨平台、部署简单、支持模型导入/管理/API调用DeepSeek-R1高性能开源大模型(中英文支持)多参数版本、兼顾速度与精度、支持复杂任务Open-WebUI可视化 Web 界面易用性强、支持 RAG 知识库、多模型切换 二、前置准备 1. 硬件要求(关键) DeepSeek-R1 版本模型大小建议 CPU建议内存建议显存适用场景1.5B1.1GB4核4~8G4GB轻量文本处理、快速响应7B/8B4.7G/4.9G8核16G14GB日常使用、平衡性能与硬件14B9GB12核32G26GB复杂推理、代码生成32B20GB16核64G48GB专业级高精度任务70B+43GB+32核+

三种适用于Web版IM(即时通讯)聊天信息的加密算法实现方案

三种适用于Web版IM(即时通讯)聊天信息的加密算法实现方案

文章目录 * **第一部分:引言与核心密码学概念** * **1.1 为什么IM需要端到端加密(E2EE)?** * **1.2 核心密码学概念与工具** * **第二部分:方案一:静态非对称加密(基础方案)** * **2.1 方案概述与流程** * **2.2 前端Vue实现(使用node-forge)** * **1. 安装依赖** * **2. 核心工具类 `crypto.js`** * **3. Vue组件中使用** * **2.3 后端Java实现(Spring Boot)** * **1. 实体类** * **2. Controller层** * **3. WebSocket配置** * **2.4 密钥管理、注册与登录集成** * **1. 用户注册/登录时生成密钥** * **2. 密钥设置页面** * **2.

springboot基于Java Web的乡镇居民诊疗信息系统的设计与实现

springboot基于Java Web的乡镇居民诊疗信息系统的设计与实现

前言 基于Java Web的乡镇居民诊疗信息系统旨在提高乡镇地区医疗服务的效率和质量,为乡镇居民提供更加便捷、高效的诊疗服务。以下是对该系统设计与实现的详细介绍: 一、系统背景与意义 随着信息技术的不断发展,互联网+医疗健康已成为医疗行业的重要趋势。乡镇地区医疗资源相对匮乏,通过构建基于Java Web的乡镇居民诊疗信息系统,可以实现医疗资源的优化配置,提高医疗服务的可及性和便捷性。同时,该系统还可以帮助乡镇医疗机构提高管理效率,降低运营成本,提升整体医疗水平。 详细视频演示 文章底部名片,联系我看更详细的演示视频 一、项目介绍 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven ———————————————— 二、功能介绍 后端:采用Java语言进行开发,利用Spring Boot框架构建高效、