⼤数据平台整体架构设计,Hadoop架构(hdfs、mr、yarn、
)及环境搭建
1. ⼤数据技术⽣态体系
2. Hadoop架构介绍
2.1 整体架构
涉及组件:
1)HDFS:NameNode、DataNode、Secondary NameNode
2)MapReduce:MapTask、ReduceTask
3)Yarn:ResourceManager、NodeManager、ApplicationMaster、Container
2.2 HDFS架构
Hadoop分布式⽂件系统(HDFS)被设计成适合运⾏在通⽤硬件(commodity hardware)上的分布式⽂件系统。它和现有的分布式⽂件系统有很多共同点。但同时,它和其他的分布式⽂件系统的区别也是很明显的。HDFS是⼀个⾼度容错性的系统,适合部署在廉价的机器上。HDFS能提供⾼吞吐量的数据访问,⾮常适合⼤规模数据集上的应⽤。HDFS放宽了⼀部分POSIX约束,来实现流式读取⽂件系统数据的⽬的。
组件:NameNode、DataNode、Secondary NameNode
1)NameNode(nn):存储⽂件元数据:⽂件名、⽬录结构、⽂件属性(⽣成时间、副本数量、⽂件权限)、每个⽂件的块列表和块所在的DataNode;
2)DataNode(dn):在本地⽂件系统存储⽂件块数据和块数据的校验和;
3)Secondary NameNode(2nn):每隔⼀段时间对NameNode的元数据进⾏备份。
2.3 MapReduce架构
Hadoop Map/Reduce是⼀个使⽤简易的软件框架,基于它写出来的应⽤程序能够运⾏在由上千个商⽤机器组成的⼤型集上,并以⼀种可靠容错的⽅式并⾏处理上T级别的数据集。
⼀个Map/Reduce 作业(job) 通常会把输⼊的数据集切分为若⼲独⽴的数据块,由 map任务(task)以完全并⾏的⽅式处理它们。框架会对map的输出先进⾏排序, 然后把结果输⼊给reduce任务。通常作
业的输⼊和输出都会被存储在⽂件系统中。 整个框架负责任务的调度和监控,以及重新执⾏已经失败的任务。
通常,Map/Reduce框架和是运⾏在⼀组相同的节点上的,也就是说,计算节点和存储节点通常在⼀起。这种配置允许框架在那些已经存好数据的节点上⾼效地调度任务,这可以使整个集的⽹络带宽被⾮常⾼效地利⽤。
Map/Reduce框架由⼀个单独的master JobTracker 和每个集节点⼀个slave TaskTracker共同组成。master负责调度构成⼀个作业的所有任务,这些任务分布在不同的slave上,master监控它们的执⾏,重新执⾏已经失败的任务。⽽slave仅负责执⾏由master指派的任务。
应⽤程序⾄少应该指明输⼊/输出的位置(路径),并通过实现合适的接⼝或抽象类提供map和reduce函数。再加上其他作业的参数,就构成了作业配置(job configuration)。然后,Hadoop的 job client提交作业(jar包/可执⾏程序等)和配置信息给JobTracker,后者负责分发这些软件和配置信息给slave、调度任务并监控它们的执⾏,同时提供状态和诊断信息给job-client。
2.4 Yarn架构
Apache Hadoop YARN 是开源 Hadoop 分布式处理框架中的资源管理和作业调度技术。作为 Apache Hadoop 的核⼼组件之
⼀,YARN 负责将系统资源分配给在 Hadoop 集中运⾏的各种应⽤程序,并调度要在不同集节点上执⾏的任务。
YARN 的基本思想是将资源管理和作业调度/监视的功能分解为单独的 daemon(守护进程),其拥有⼀个全局ResourceManager(RM) 和每个应⽤程序的 ApplicationMaster(AM)。应⽤程序可以是单个作业,也可以是作业的 DAG。
组件:ResourceManager、NodeManager、ApplicationMaster、Container
1)ResourceManager:负责整个集资源的管理(内存、CPU)
2)NodeManager:负责单个节点的资源管理
3)ApplicationMaster:负责单个任务的管理
4)Container:对计算机计算资源的抽象,其实就是节点上⼀组CPU和内存,所有应⽤都运⾏在Container
ResourceManager和 NodeManager构成了数据计算框架。 ResourceManager 是在系统中的所有应⽤程序之间仲裁资源的最终权限。NodeManager 是每台机器框架代理,负责 Containers,监视其资源使⽤情况(CPU,内存,磁盘,⽹络)并将其报告给ResourceManager。
每个应⽤程序 ApplicationMaster 实际上是⼀个框架特定的库,其任务是协调来⾃ ResourceManager 的资源,并与 NodeManager ⼀起执⾏和监视任务。
Yarn调度器和调度算法:FIFO、容量调度器、公平调度器
环境搭建
3.1 基础环境
jdk
3.2 集配置
Hadoop环境配置:hadoop-env.sh [配置java_home]
Hadoop公共配置:l
HDFS副本数和数据⽬录配置:l
指定MapReduce程序在Yarn集配置:l
配置Yarn集参数:l
3.3 集启动
HDFS服务启动:
hadoop namenode -format
hadoop-3.2.2/sbin/start-dfs.sh
YARN启动:hadoop-3.2.2/sbin/start-yarn.sh
⽇志服务jobhistoryserver:mapred --daemon start historyserver 3.4 启动web验证
3.5 进程校验
[hadoop@localhost ~]$ jps
2256 NameNode
2370 DataNode
4037 Jps
2934 NodeManager
2535 SecondaryNameNode
2809 ResourceManager
4015 JobHistoryServer
hadoop分布式集搭建
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论