Hadoop学习记录一

HDFS(Hadoop Distributed File System)是Hadoop项目的一部分,用于存储海量数据。HDFS设计为可以在廉价硬件上运行,同时提供高容错性。HDFS主要由三个关键角色组成:NameNode、DataNode和SecondaryNameNode。下面我用大白话来详细解释这些角色的功能和作用:

1. NameNode

NameNode 可以想象成图书馆里的图书管理员,它不存储书(数据),而是管理着图书馆的目录和书籍的位置信息。在HDFS中,NameNode负责管理文件系统的元数据,这包括文件和目录的层次结构、文件的权限信息、文件被分割成哪些块以及每个块存储在哪些DataNode上。当有用户想要读取或写入文件时,NameNode告诉用户文件的块在哪里,就像图书管理员告诉你书在哪个书架一样。

2. DataNode

DataNode 相当于图书馆的书架和书籍本身,它们负责存储和维护HDFS中的实际数据。每个DataNode定期向NameNode报告自己的健康状况和所拥有的数据块信息。当有写入请求时,DataNode会按照NameNode的指示存储数据块,并确保数据块的副本数符合设定,以增加数据的可靠性。当有读取请求时,DataNode提供数据块供用户读取。

3. SecondaryNameNode

SecondaryNameNode 不是另一个NameNode,更像是NameNode的助手或者说是备份助手。它并不存储元数据的实时备份,而是定期合并NameNode的fsimage(包含文件系统元数据)和edit log(包含最近的操作记录),减少NameNode重启时需要重放的日志量,从而加快NameNode的启动时间。SecondaryNameNode帮助NameNode进行日志的清理和合并,但并不是集群运行的必要组成部分,它的缺失不会导致集群不可用。

这三个角色共同协作,使得HDFS能够存储和管理大规模数据集,即使在部分节点失效的情况下也能保持数据的可用性和一致性。在Hadoop集群中,通常有一个NameNode,多个DataNode,以及一个SecondaryNameNode(或有时多个,用于更高的可用性)。这种架构设计使得HDFS能够在成本较低的硬件上构建出高可靠、可扩展的数据存储系统。

在Hadoop生态系统中,**RM(ResourceManager)、NM(NodeManager)和JN(JobHistoryServer)**这几个组件都属于Apache Hadoop YARN(Yet Another Resource Negotiator)框架的一部分。不过,JN(JobHistoryServer)在Hadoop 2.x之后的版本中,更多地与MapReduce应用历史记录服务相关联。

4. ResourceManager (RM)

ResourceManager 就像是一个"总管",它负责整个Hadoop集群的资源分配工作。就像一个派对的组织者决定每个人应该坐在哪里一样,ResourceManager决定你的计算任务应该在哪里的机器上运行。它还会监督所有任务的运行情况,确保一切都按计划进行。

5.NodeManager (NM)

NodeManager 是每台计算机(节点)上的"助手"。它的主要工作是听ResourceManager的命令,准备和清理任务运行的环境,确保任务能够顺利开始和结束。就像是一个餐厅里的服务员,当有客人点餐时,服务员负责上菜和清理餐桌。

6.JobHistoryServer (JN)

JobHistoryServer 相当于一个"历史记录员"。它的工作是记录所有的计算任务是怎么运行的,结果如何,以及运行过程中发生了什么问题。这样,如果有人想查看过去的任务状态,或者分析为什么某些任务失败了,就可以通过JobHistoryServer找到答案。

总结一下,ResourceManager是指挥官,NodeManager是前线工人,而JobHistoryServer是记录历史的档案管理员。它们一起协作,确保Hadoop集群能够高效、稳定地运行各种计算任务。

相关推荐
焚 城1 分钟前
UniApp中Flex布局学习
学习·uni-app
你真的可爱呀3 分钟前
uniapp学习【整体实践】
前端·学习·uni-app·实践
润 下24 分钟前
C语言——深入解析C语言指针:从基础到实践从入门到精通(二)
c语言·开发语言·经验分享·笔记·学习·程序人生
yumgpkpm1 小时前
CMP平台(类Cloudera CDP7.3)在华为鲲鹏的Aarch64信创环境中的性能表现
大数据·flink·kafka·big data·flume·cloudera
大数据CLUB1 小时前
基于spark的抖音短视频数据分析及可视化
大数据·hadoop·分布式·数据分析·spark
知识分享小能手1 小时前
微信小程序入门学习教程,从入门到精通,电影之家小程序项目知识点详解 (17)
前端·javascript·学习·微信小程序·小程序·前端框架·vue
yumgpkpm1 小时前
大数据综合管理平台(CMP)(类Cloudera CDP7.3)有哪些核心功能?
hive·hadoop·elasticsearch·zookeeper·big data
风和先行1 小时前
Android Vibrator学习记录
学习
一键三联啊1 小时前
【GIT】错误集锦及解决方案
大数据·elasticsearch·搜索引擎
板凳坐着晒太阳2 小时前
Hive 删除分区语句卡死问题
数据仓库·hive·hadoop