大数据与Hadoop运维三大核心组件的搭建

Hadoop是什么:

– Hadoop是一种分析和处理海量数据的软件平台;

– Hadoop是一款开源软件,使用JAVA开发;

– Hadoop可以提供一个分布式基础架构;

Hadoop特点:

– 高可靠性、高扩展性、高效性、高容错性、低成本

Hadoop常用组件:(下面三个组件是针对于运维,其他的不在此论述)

• HDFS: Hadoop分布式文件系统(核心组件)

• MapReduce: 分布式计算框架(核心组件)

• Yarn: 集群资源管理系统(核心组件)

HDFS结构:

图像 小部件

HDFS角色及概念:(负责存储)

• 是Hadoop体系中数据存储管理的基础,是一个高度容错的系统,用于在低成本的通用硬件上运行

Client :

– 切分文件,将文件切分成块,每块大小128MB,不够的也划分128MB空间.且每块都可以有多个副本;

– 访问HDFS;

– 与NameNode交互,获取文件位置信息;

– 与DataNode交互,读取和写入数据.

NameNode:

– Master节点,管理HDFS的名称空间和数据块映射信息,配置副本策略,处理所有客户端请求.

Secondary NameNode:

– 定期合并fsimage 和fsedits,推送给NameNode;

– 紧急情况下,可辅助恢复NameNode;

但Secondary NameNode并非NameNode的热备.

DataNode:

– 数据存储节点,存储实际的数据;

– 汇报存储信息给NameNode.

原理整合:

切分数据,并不能直接存储数据,需要访问,由来指定数据存储的位置,然后将数据存储在相应的中,同时会将数据于位置的映射信息存储在中; HDFS修改数据是采用一种类似于打补丁的方式,将修改信息存放在中,会定时的将和进行合并,达到更新数据的目的.

MapReduce角色及概念(负责分布式计算):

JobTracker:

– Master节点只有一个;

– 管理所有作业/任务的监控、错误处理等;

– 将任务分解成一系列任务,并分派给TaskTracker;

TaskTracker:

– Slave节点,一般是多台;

– 运行Map Task和Reduce Task;

– 并与JobTracker交互,汇报任务状态.

Map Task:

– 解析每条数据记录,传递给用户编写的map()并执行,将输出结果写入本地磁盘;

– 如果为map-only作业,直接写入HDFS.

Reducer Task:

– 从Map Task的执行结果中,远程读取输入数据,对数据进行排序,将数据按照分组传递给用户编写的reduce函数执行.

简单来讲就是负责分派任务,负责完成任务,并不会关心通过什么方式完成,整个hadoop都是通过这种类似一个领导,下面管理多个下属,领导负责分派任务,下属负责完成这种方式完成的.

Yarn角色及概念:(负责集群管理)

Container:

– 对任务运行行环境的抽象,封装了CPU 、内存等;

– 多维资源以及环境变量、启动命令等任务运行相关的信息资源分配与调度.

ApplicationMaster:

– 数据切分;

– 为应用程序申请资源,并分配给内部任务;

– 任务监控与容错.

Yarn的核心思想:

将JobTracker和TaskTacker进行分离,它由下面几大构成组件:

– ResourceManager一个全局的资源管理器;

– NodeManager每个节点(RM)代理;

– ApplicationMaster表示每个应用;

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
来说点什么吧!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容