前言

这篇文章主要记录一下我对 Ambari 的认识,以及通过可视化页面学习 Ambari 和 HBase 的一些体会。


一、什么是 Ambari

简单来说,Ambari 是一个用于管理 Hadoop 集群的工具。

如果把 Hadoop 集群看成一栋拥有很多房间的大别墅,那么:

  • Hadoop 集群 = 别墅

  • 各种服务(HDFS、YARN、HBase) = 房间里的设备

  • Ambari = 装修队长

以前如果要部署 Hadoop 集群,需要登录每一台服务器安装软件、修改配置文件、启动服务。

服务器数量少还好,如果有几十台甚至上百台服务器,那么工作量会非常大。

而 Ambari 的作用就是帮助管理员统一完成:

  • 软件安装

  • 配置管理

  • 服务启动

  • 状态监控

  • 集群扩容

通过 Web 页面就可以完成大部分操作。


二、Ambari 的基本架构

Ambari 主要由两部分组成:

1. Ambari Server

负责统一管理整个集群。

可以理解为项目经理或者装修队长。

主要负责:

  • 接收用户操作

  • 下发安装任务

  • 保存集群信息

  • 展示监控界面


2. Ambari Agent

安装在每台服务器上。

可以理解为施工工人。

负责:

  • 接收 Server 命令

  • 安装软件

  • 修改配置

  • 启动服务

  • 上报状态


整体结构如下:

           Ambari Server
                 |
    -------------------------
    |          |           |
 Agent1     Agent2      Agent3
    |          |           |
  HDFS       YARN       HBase

Server 负责指挥,Agent 负责执行。


三、Ambari 的工作流程

我将 Ambari 的工作过程总结为以下四个步骤。

第一步:定义集群蓝图

管理员先确定需要安装哪些组件。

例如:

HDFS
YARN
HBase
Spark
Kafka

同时指定这些组件部署在哪些服务器上。


第二步:分发安装包

Ambari Server 将安装任务发送给各个 Agent。

Agent 会自动下载或者接收对应的软件包。


第三步:自动配置

这一部分是 Ambari 最方便的地方。

Agent 自动完成:

  • 解压软件

  • 修改配置文件

  • 配置环境变量

  • 设置运行参数

不需要管理员一台一台修改。


第四步:启动与监控

所有组件安装完成后:

  • 自动启动服务

  • 检查运行状态

  • 展示监控信息

管理员只需要打开浏览器即可查看整个集群情况。


四、HTML模拟器运行效果

为了更直观理解 Ambari,我编写了一个简单的 HTML 模拟页面。

页面中模拟了:

  • Ambari Server

  • 多个 Agent 节点

  • HDFS

  • YARN

  • HBase

  • Spark

  • Kafka

用户点击服务后,可以模拟部署过程。

运行截图1:Ambari主界面

图片名称:
ambari-首页.png

运行截图2:集群部署模拟

图片名称:
ambari-部署过程.png

在模拟过程中可以看到:

选择服务
↓
开始安装
↓
Agent执行任务
↓
安装完成
↓
集群运行

整个流程与真实 Ambari 的工作思想比较接近。


五、Ambari 与 HBase 的关系

在学习 Ambari 时,我还制作了一个 HBase 读写流程模拟器。

因为在实际项目中,HBase 经常就是由 Ambari 来管理的。


HBase 写数据流程

我把它理解成“寄快递”。

流程如下:

客户端
↓
RegionServer
↓
WAL日志
↓
MemStore
↓
HFile

其中:

  • WAL 用于防止数据丢失

  • MemStore 用于提高写入速度

  • HFile 用于长期存储


HBase 读数据流程

我把它理解成“收快递”。

流程如下:

客户端
↓
MemStore
↓
BlockCache
↓
HFile
↓
返回结果

优先从内存读取数据,因此查询速度比较快。


六、为什么要使用 Ambari

通过这次学习,我觉得 Ambari 最大的优势有以下几点。

1. 部署方便

以前:

一台台服务器安装

现在:

图形化界面一键部署

2. 配置统一

所有节点使用同一套配置。

避免出现:

A服务器配置正确
B服务器配置错误

这种问题。


3. 监控简单

通过浏览器即可查看:

  • CPU

  • 内存

  • 服务状态

  • 节点健康度


4. 扩容方便

新增服务器后:

安装Agent
↓
加入集群
↓
自动部署

比手工配置简单很多。


七、学习总结

通过这次实践,我对 Ambari 的理解更加清晰了。

以前总觉得 Ambari 只是一个管理界面,后来发现它实际上承担了整个 Hadoop 集群的自动化运维工作。

如果用一句话概括:

Ambari 就像 Hadoop 集群的“装修队长”,负责统一安装、配置、监控和管理各种大数据组件。

同时,通过 HBase 读写流程模拟,我也进一步理解了 Ambari 管理的大数据服务是如何运行的。

对于刚接触 Hadoop 生态的同学来说,我觉得先理解 Ambari 的管理思想,再去学习 HDFS、YARN、HBase 等组件,会更容易建立整体认识。


参考内容

  • 自制 Ambari 集群管理模拟页面

  • 自制 HBase 读写流程模拟页面

  • Hadoop 生态相关课程实验

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐