Apache Ambari学习笔记——用“装修队长”的方式理解大数据集群管理
前言
这篇文章主要记录一下我对 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 生态相关课程实验
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)