Hadoop生态圈中的各个组件的介绍

hdfs

namenode

  • 维护目录树,维护命名空间。
  • 负责确定指定的文件块到具体的Datanode结点的映射关系。(在客户端与Datanode之间共享数据)
  • 管理Datanode结点的状态报告

datanode

  • 负责管理它所在结点上存储的数据的读写,及存储数据。
  • 向Namenode结点报告DataNode节点的状态。
  • 通过流水线复制实现数据副本。

Standby NameNode

Standby NameNode只是作为Active NameNode的备份,保证在Active NameNode出现问题时能够快速的替代它。

JournalNode

为了使Standby节点保持其状态与Active 节点同步,两节点都与 一组称"JournalNodes"(JN)的单独守护进程进行通信 。当Active 节点执行任何命名空间修改时,它会持久地将修改记录记录到这些JN的大多数中Standby节点能够从JN读取edit log内容,并不断监视它们以查看edit log内容的更改。当"Standby节点"看到edit log变化时,会将其应用到自己的命名空间。发生故障转移时,备用服务器将确保在将自身升级为活跃状态之前,已从JournalNode读取所有edit log内容。这样可确保在发生故障转移之前,命名空间状态已经完全同步。

DFSZKFailoverController

  • Failure detector: 及时发现出故障的NN,并通知zkfc
  • Active node locator: 帮助客户端定位哪个是Active的NN
  • Mutual exclusion of active state: 保证某一时刻只有一个Active的NN

yarn

JobHistoryServer

历史服务器,管理者可以通过历史服务器查看已经运行完成的Mapreduce作业记录,比如用了多少个Map、多少个Reduce、作业提交时间、作业启动时间、作业完成时间等信息。

ResourceManager

  • 处理客户端请求;
  • 启动或监控ApplicationMaster;
  • 监控NodeManager;
  • 资源的分配与调度。

NodeManager

  • 它负责接收处理来自ResourceManager的资源分配请求,分配具体的Container给应用。
  • 同时,它还负责监控并报告Container使用信息给ResourceManager。NodeManager只负责管理自身的Container,它并不知道运行在它上面应用的信息。负责管理应用信息的组件是ApplicationMaster
相关推荐
许彰午几秒前
# 从OOM到根治的完整过程——导出大数据的应急、根因分析与游标方案
java·大数据·数据库·系统架构
Justice Young1 小时前
Flink第四章:运行架构
大数据·flink
KmSH8umpK1 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第九篇
数据库·redis·分布式
gQ85v10Db1 小时前
Redis分布式锁进阶第十五篇:全系列终极收官复盘 + 全站锁规范归档 + 生产零故障长期运维兜底总方案
运维·redis·分布式
陈天伟教授1 小时前
AI 未来趋势:产业应用范式之变
大数据·开发语言·人工智能·gpt
智能化咨询1 小时前
(112页PPT)德勤制造业企业数据治理平台规划方案(附下载方式)
大数据·运维·人工智能
_F_y1 小时前
仿RabbitMQ实现消息队列-服务端核心模块实现(5)
分布式·rabbitmq
Lyyaoo.2 小时前
Redis实现分布式锁
数据库·redis·分布式
eastyuxiao2 小时前
流程图 + 配置清单 在团队 / 公司项目管理场景的落地应用
大数据·运维·人工智能·流程图
历程里程碑2 小时前
MySQL数据类型全解析 + 代码实操讲解
大数据·开发语言·数据库·sql·mysql·elasticsearch·搜索引擎