【Hadoop】【第二章】认识Hadoop

1.概念

1.1 Hadoop是什么?

1.Apache基金会开发的分布式系统基础架构
Apache基金会 :托管的项目、软件都是开源免费的
分布式系统基础架构 : 多台计算机协同处理一件事情

2.Hadoop要解决的问题
海量数据的存储和分析计算

3.广义的Hadoop
大数据生态圈

1.2 Hadoop发展史

1.创始人Doug Cutting,初心是实现全文搜索功能,基于Lucene框架进行优化升级,查询、搜索引擎

2.Lucene在海量数据的场景 存储海量数据困难、检索海量数据速度慢

3.基于Google三篇论文造了三个框架

	论文					   大数据框架
	GFS              ----->       HDFS
	MapReduce        ----->       MR
	BigTable         ----->       HBase

4.2006年3月份Hadoop诞生

5.名字起源于Doug Cutting儿子的玩具大象

1.3 三大发行版本

1.Apache
最原始、基础的版本 2006年

2.Cloudera
产品CDH
在Apache 的Hadoop基础上做了封装 2008年
提供web页面、方便配置;

3.Hortonworks 2011年
产品HDP
最后被Cloudera收购,推出新的品牌CDP

现状:
在这里插入图片描述

  • CDP收费,单节点10000美金/年
  • 2021.1.31号所有版本都要购买使用

对于CDP集群收费,想白嫖解决方案:

将CDP集群迁移到Apache 集群
1.如何搭建Apache集群?
2.如何迁移老集群的数据到新的集群?
学完了就都会了


1.4 Hadoop优势

1.高可靠性
存储高可靠:Hadoop存储数据时,底层维护多个数据副本,即使某个存储节点出现故障,也不会导致数据丢失
在这里插入图片描述
2.高扩展性
特殊日期,比如双十一等,需要给集群增加服务器节点

热部署:增加新节点的时候,不需要停止正在运行的集群,等到配置好了再启动;可以动态增加、删除服务器节点,不影响正常的运行

3.高效性
并行计算;
MapReduce的计算思想是分而治之,将一个计算任务拆解成多个计算子任务,由多台机器并行计算从而提高计算速度,然后对计算结果汇总;
在这里插入图片描述

4.高容错
任务失败,节点再分配
在这里插入图片描述

1.5 初识Hadoop架构组成

Hadoop由三个板块构成:

  • HDFS集群
  • Yarn集群
  • MapReduce分布式计算引擎

下面针对这三个组件进行初步了解,后面的文章中会有详细的介绍;

1.5.1 Hadoop三个版本的区别

1.Hadoop1.x

  • common模块:辅助工具类、内部调用的工具
  • HDFS模块:负责数据存储
  • MapReduce模块:负责计算 和 资源的分配调度
    在这里插入图片描述

2.Hadoop2.x
引入Yarn,专门负责资源调度
MapReduce只负责计算
在这里插入图片描述
3.Hadoop3.x
在组成上和2.x版本是一样的
有一些新特性

1.5.2 HDFS架构

Hadpp Distributed File System 分布式文件系统
1.NameNode
管理数据存储在什么位置;
存储文件的元数据:文件名、文件目录结构、文件属性、文件的块列表、块所在DateNode等

2.DateNode
负责数据的存储;数据文件以block的形式存储,一个文件被拆解成多个block;
除了文件存储,还有数据块的校验等

3.SecondNameNode
NameNode挂了,就不知道数据块都存储在哪了;
SecondaryNode是NameNode的秘书,辅助NameNode工作,每隔一段时间对NameNode元数据进行备份;

1.5.3 Yarn架构

在这里插入图片描述
在这里插入图片描述

1.resourceManager
管理整个集群的CPU和内存;
负责资源的分配和调度

2.NodeManager
yarn集群的服务器节点;一个NodeManger代表一台机器

3.AppMaster
一个作业就会产生一个AppMaster 来负责
负责作业的计算,向RM申请资源;

4.Container
是任务实际运行的地方;
Container是对资源的封装,包括网络、内存、硬盘、CPU;相当于更小型的独立的计算机;
一台NodeManager上可以有多个Container;
container好处是,container中的任务执行完了,可以回收资源,进行再分配使用

细节:
客户端可以有多个,Yarn支持多客户端访问
集群上可以有多个ApplicationMaster,每个负责自己的作业
每个NodeManger上可以有多个Container

1.5.4 MapReduce

在这里插入图片描述
在这里插入图片描述将任务分发下去,各自运行;
运行结束后,汇总

1.6 大数据生态体系

在这里插入图片描述

1.数据源
结构化数据:数据库 用sqoop进行采集
文件日志: 用Flume采集
非结构化数据:视频音频 Kafka消息队列

2.数据采集

3.数据的存储

4.资源管理层

5.数据计算层
离线计算:
MapReduce基于硬盘 -> Hive
Spark基于内存 -> SparkSql
实时计算:
SparkStreaming Flink Storm

6.任务调度层
Oozie Azkaban

7.业务层

1.7 推荐系统架构图

在这里插入图片描述
用户点击行为被收集到日志
Flume采集日志,到Kafka
实时推荐,数据被SparkStream消费计算
计算完的数据 存储到数据库或者是结果文件
再有JavaWeb人员拿到数据,进行推荐业务

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值