Hadoop入门简介

目录

一、Hadoop应运而生

二、Hadoop发行版本介绍

Hadoop三大发行版本:Apache、Cloudera、Hortonworks

三、Hadoop的优势

四、Hadoop版本演变

        (1)Hadoop1.x

        (2)Hadoop2.x

        (3)Hadoop3.x

五、Hadoop三大核心组件

            一、HDFS架构概述

                     二、MapReduce架构概述

            三、YARN架构概述

总结


一、Hadoop应运而生

             我们生活在一个大数据的时代,数据飞速发展,急需解决海量数据的存储和计算问题。这个时候Hadoop应运而生。

             Hadoop是一个由Apache基金会所开发的分布式系统基础架构。主要解决海量数据的存储和海量数据的分析计算问题。

广义上来说,Hadoop通常指一个更广泛的概念---Hadoop生态圈。

二、Hadoop发行版本介绍

Hadoop三大发行版本:Apache、Cloudera、Hortonworks

        1.Apache Hadoop:官方版本,开源

                                        官方网址:http://hadoop.apache.org/releases.html

                                        下载地址:https://archive.apache.org/dist/hadoop/common/

        2.Cloudera Hadoop(CDH):商业版本,对官方版本做了一些优化,提供免费的技术支持,提供界面操作,方便集群运维管理

                                        官网地址:https://www.cloudera.com/downloads/cdh/5-10-0.html

                                        下载地址:http://archive-primary.cloudera.com/cdh5/cdh/5/

        3.Hortonworks(HDH) :开源,提供界面操作,方便运维管理

                                        官网地址:https://hortonworks.com/products/data-center/hdp/

                                        下载地址:https://hortonworks.com/downloads/#data-platform

三、Hadoop的优势

        (1)高可靠:Hadoop底层维护多个副本数据,所以即使Hadoop某个计算节点或存储出现故障,也不会导致数据丢失。

        (2)高扩展:在集群中分配任务数据,可方便扩展数以千计的节点。

        (3)高效性:在MapReduce思想下,Hadoop是并行计算,以加快任务处理速度。

        (4)高容错性:能够自动将失败的任务重新分配。

四、Hadoop版本演变

        (1)Hadoop1.x

                HDFS(数据存储) + MapReduce(计算+资源调度) + Common(辅助工具)

                在Hadoop1.x时代,MapReduce同时负责资源的调度和处理业务逻辑的运算,耦合性大。

        (2)Hadoop2.x

                HDFS(数据存储) + YARN(资源调度) + MapReduce(计算) + Common(辅助工具)

                在Hadoop2.x时代,增加了YARN(公共的资源管理平台,只要你的程序满足YARN规则即可)。YARN只负责资源的调度,MapReduce只负责运算。

        (3)Hadoop3.x

                HDFS(数据存储) + YARN(资源调度) + MapReduce(计算) + Common(辅助工具)

                hadoop3.x的细节优化:

                        (1)最低Java版本从Java7变成Java8

                        (2)HDFS支持纠删码,纠删码是一种比副本存储更节省存储空间的数据持久化存储方法,使用这种方法,

                                相同容错的情况下,比之前可节省一半的存储空间。

                        (3)Hadoop 2中的HDFS最多支持两个NameNode,一主一备,而Hadoop 3中的HDFS支持多个 NameNode,

                                一主多备

                        (4)MapReduce任务级本地优化,MapReduce添加了映射输出收集器的本地化实现的支持。

                                 对于密 集型的洗牌操作(shufflfflffle-intensive)jobs,可以带来30%的性能提升。

                        (5)修改了多重服务的默认端口,Hadoop2中一些服务的端口和Hadoop3中是不一样的

                                 Hadoop2中一些服务的端口和Hadoop3中是不一样的。

                                 Hadoop2中HDFS的web界面端口是:50070,Hadoop3中是:9870

                总结:Hadoop 3和2之间的主要区别在于新版本提供了更好的优化和可用性

五、Hadoop三大核心组件

                一、HDFS架构概述

                        HDFS负责海量数据的分布式存储

                        (1)NameNode:存储文件的元数据(如:文件名、文件目录结构、文件属性(生成时间、副本数、文件权限),

                                每个文件的块列表和块所在的DataNode)

                        (2)DataNode:在本地文件系统中存储文件块数据和块数据的校验和

                        (3)Secondary NameNode:用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照

               二、MapReduce架构概述

                        MapReduce是一个计算模型,负责海量数据的分布式计算

                        1)Map阶段并行处理输入数据

                        2)Reduce阶段对Map结果进行汇总

                三、YARN架构概述

                        YARN主要负责集群资源的管理和调度

                        1)ResourceManager:

                                        ①处理客户端请求②启动/监控ApplicationMaster③监控NodeManager④资源分配与调度

                        2)NodeManager:

                                        ①单个节点上的资源管理②处理来自ResourceManager的命令③处理来自ApplicationMaster的命令

                        3)ApplicationMaster:

                                        ①数据切分②为应用程序申请资源③分配给内部任务④任务监控与容错

                        4)Container

                                        对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境变量、启动命令等任务运行相关的信息

                                        可以对计算资源进行隔离。


总结

        MapReduce阶段详解:

                在Map阶段和Reduce阶段分别启动若干进程负责运算!这些进程称为Task!
                在Map阶段启动的Task称为MapTask,在Reduce阶段启动的Task称为ReduceTask。
                将一个MapReduce程序称为一个Job,一个Job中会启动若干个Task。
                在Job启动时,Job会先创建一个MRAppMaster进程,由这个进程和RM进行通信,为Job中的每个Task申请
        计算所需要的资源!
                Task的请求,会被RM缓存到一个调度队列中,由NM领取Task,领取后NM会根据Task要求,提供计算资源!
        提供后,为了避免计算资源在当前Task使用时被其他的task抢占,NM会将资源封装到一个Container中。        
                Container可以对计算资源进行隔离!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值