Hadoop介绍

  1、hadoop前世今生

            1.1、搜索引擎:网络爬虫 + 索引服务器(生成索引+检索)

            1.2、Doung Cutting 写了Lucene包(生成索引+检索)

            1.3、Nutch:网络爬虫 + 索引服务器(Lucene封装)

                    1.3.1、分布式存储

                     1.3.2、分布式计算

            1.4、2002年开源GFS论文,Doung Cutting写了HDFS模块

             1.5、2004年谷歌开源了MapReduce论文,Doung Cutting写了MapReduce模块

             1.6、Nutch0.9版本后将MapReduce模块拆分出来,形成了一个大数据处理框架Hadoop

    2、Hadoop概述

           2.1、Hadoop0.X 1.X(common(RPC网络通信模块)、HDFS分布式存储、MapReduce分布式计算)

                    Hadpoop2.X(common(网络通信RPC)、HDFS分布式文件存储、YARN任务管理和资源调度(分布式计算框架MapReduce、Hive、Storm、Spark、Flink))

          2.2、四大模块

                    common(RPC网络通信模块,为其他Hadoop模块提供基础设施)、HDFS分布式存储(一个高可靠、高吞吐量的分布式文件系统)、MapReduce分布式计算(一个分布式离线并行计算框架)、yarn任务管理和资源调度

         2.3、HDFS(Hadoop distributed file system)分布式文件系统

                  a、文件系统:(文件管理+Block快管理)

                        windows:FAT16、FAT32、NTFS;  Linux: ext2/3/4、VFS

                  b、分布式文件系统

                        多个服务器存储文件

                       

          c:HDFS组件

             1、NameNode是主节点,存储文件的元数据如文件名、文件目录、文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。1)、元数据:文件名、目录名、属性(生成时间、权限、副本);2)、文件名与block列表映射关系;3)、block与DataNode列表映射关系;

             2、DataNode在本地文件系统存储文件块数据,以及块数据的检验。

                  a、作用(存储真实的数据信息);b、数据存储目录dfs.datanode.data.dir;c、block块:默认128M(dfs.blocksize设置);d、副本策略(1、默认三个dfs.replication设置;2、存放形式:如果客户端在集群中,第一个副本放到客户端机器上;否则第一个副本随机挑选一个不忙的机器;第二个副本放到和第一个副本不同的机架上的一个服务器上;第三个副本放到和第二个副本相同机架不同服务器上;如果还有更多副本随机存放)

             3、SecondaryNameNode是用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。分担NameNode压力,合并编辑日志edit和镜像文件fsimage(因为合并操作需要占用很大资源,影响客户端请求),合并后将最终的镜像文件fsimage返回给NameNode进行处理。

   2.4、yarn:资源调度和任务管理

            1、四大组件

                 ResourceManager(RM):处理客户端请求、启动/监控ApplicationMaster、监控NodeManager、资源分配与调度;

                 NodeManager(NM):单节点上的资源管理、处理来自 ResourceManager的命令、处理来自ApplicationMaster的命令;

                 ApplicationMaster(AM):程序切分、为应用程序申请资源、并分配任务、任务监控与容错;

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

            2、执行流程

                  2.1、Client连接RM提交作业,RM给Client一个JobId(注:ApplicationsManager和ResourceScheduler)

                  2.2、RM中的ApplicationsManager连接一个NM,让NM创建一个AM处理客户端作用请求。

                  2.3、AM连接RM中ApplicationsManager申请NodeManager

                  2.4、AM去ResourceScheduler给Client的作业申请资源(cpu、内存、磁盘、网络)

                  2.5、AM连接NM,发送client job作业程序和申请资源

                   2.6、NM启动Container进程运行job的不同任务

                   2.7、Container进程运行状态实时反馈给AM

                   2.8、AM反馈任务状态信息给RM中的ApplicationsManager

                   2.9、client端可以在连接RM或AM查询job的执行情况

                   注:NM启动后去RM上进行注册,会不断发送心跳,说明处于存活状态

   2.5、MapReduce

                 2.5.1、各项指标

                            a、Cluster Metrics

                           集群指标:app(提交、排队、运行、完成)、Container个数、资源(内存、cpu)

                            b、Cluster Nodes Metrics

                            机器状态:Active、Decommissioning、Decommissioned、Lost、Unhealthy、Rebooted、Shutdown

                            c、作业指标

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值