Hadoop - [01] 概述

 

Hadoop官网:https://hadoop.apache.org/

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

 

 

 

一、Hadoop是什么

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

广义上讲,Hadoop通常是指一个更广泛的概念 —— Hadoop生态圈。

 

 

二、Hadoop的发展历史

Lucene框架是道格卡丁开创的开源软件,用Java书写代码,实现与Google类似的全文搜索功能,它提供了全文检索引擎的架构,包括完整的查询引擎,包括完整的查询引擎和索引引擎。

2021年年底Lucene称为Apache基金会的一个子项目

对于海量数据的场景,Lucene面对与Google同样的困难,存储数据困难,检索速度慢。

学习和模仿Google解决这些问题的办法:微型版Nutch

可以说Google是Hadoop的思想之源(Google在大数据方面的三篇论文)

  • GFS => HDFS
  • Map-Reduce => MR
  • BigTable => Hbase

 

Hadoop的优势

  • 高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
  • 高扩展性:在集群间分配任务数据,可方便地扩展数以千计的节点。
  • 高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。
  • 高容错性:能够自动将失败的任务重新分配。

 

 

HDFS的架构

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

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

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

 

Yarn的架构

ResourceManager:(1)处理客户端请求;(2)监控NodeManager;(3)启动或监控ApplicationMaster;(4)资源的分配与调度。

NodeManager:(1)管理单个节点上的资源;(2)处理来自ResourceManager的命令;(3)处理来自ApplicationMaster的命令

ApplicationMaster:(1)负责数据的切分;(2)为应用程序申请资源并分配给内部的任务;(3)任务的监控与容错

Container:Container是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等。

 

 

 

 

— 要养成终生学习的习惯 —

posted @ 2023-05-30 17:28  HOUHUILIN  阅读(21)  评论(0编辑  收藏  举报