Hadoop学习经验分享

发布于:2022-07-26 ⋅ 阅读:(465) ⋅ 点赞:(0)

Hadoop是什么

1)Hadoop是一个有Apache基金会所开发的分布式系统基础架构。

2)主要解决海量数据的存储和海量数据的分析计算问题。

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

1.2Hadoop发行版本

 Hadoop发行的三个版本:Apache、Cloudera、Hortonworks。

        1)Apache Hadoop        

                官网地址:http://hadoop.apache.org

                下载地址:https://hadoop.apache.org/releases.html

        2)Cloudera Hadoop

                官网地址:https://www.cloudera.com/downloads/cdh

                下载地址:https://docs.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_cdh_6_download.html

        3)Hortonworks Hadoop                   

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

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

1.3 Hadoop优势

        1)高可靠性

                Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素出现故障,也不会导致数据的丢失。

        2)高扩展性

                在集群间分配任务数据,可方便的扩展数以千计的节。

        3)高效性

                在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。

        4)高容错性

                能够自动将失败的任务重新分配。

1.4Hadoop组成

    Hadoop1.x 

        ​​MapReduce(计算+资源调度)

        HDFS(数据存储)

        Common(辅助工具,HDFS和MR共有的常用的工具包模块!)
        hadoop1.x时:MapReduce同时处理业务逻辑运算和资源调度,耦合性较大

    Hadoop2.x

        MapReduce(计算)

        Yarn(资源调度)

        HDFS(数据存储)

        Common(辅助工具,HDFS和MR共有的常用的工具包模块!)

        hadoop2.x增加了Yarn,Yarn只负责资源调度,MapReduce只负责运算 将资源调度和管理进行分离!由统一的资源调度平台YARN进行大数据计算资源的调度! 提升了Hadoop的通用性!Hadoop搭建的集群中的计算资源,不仅可以运行Hadoop中的MR程序!也可以运行其他计算框架的程序!

      Hadoop3.x

        Hadoop在组成上没有变化。

1.4.1HDFS架构概述 

     Hadoop Distributed File System,简称HDFS,是一个分布式文件系统。

        1)NameNode(nm):存储文件的元数据,比如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和所在的DataNode等。

        2)DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和。

        3)Secodary NameNode(2nm):每隔一段时间对NameNode元数据备份。

1.4.2YARN架构概述 

      Yet Another Resource Negotiator 简称YARN,另一种资源协调者,是Hadoop的资源管理器。

        1)ResourceManager(RM):整个集群资源(内存、cpu等)的管理者。

        2)NodeManager(NM):单个节点服务器资源的管理者。

        3)ApplicationMaster(AM):单个任务运行的管理者。

        4)Container:容器,相当于一台独立的服务器,里面封装了任务运行所需要的资源,如内存、cpu、磁盘、网络等。

说明:1、客户端可以有多个;

           2、集群上可以运行多个ApplicationMaster

           3、每个NodeManager上可以有多个Container

1.4.3 MapReduce架构概述

     MapReduce将计算过程分为两个部分:Map和Reduce

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

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

1.4.4 HDFS、YARN、MapReduce三者的关系