Hadoop初学者

Hadoop的介绍

  • (1) Hadoop是什么?

1.狭义:Hadoop是一个有Apache基金会所开发的分布式系统(软件)基础架构
2.广义:Hadoop通常是指一个更广泛的概念——Hadoop生态圈。

  • (2) Hadoop有什么用?

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

Hadoop有什么优点

  • (1) Hadoop有4个优点

高可靠性:多副本(一份数据在从节点上存多份)

高扩展性:修改配置文件(即增加节点)

高效性:并行(在多个从节点上搜索数据)

高容错性:重新分配(就比如一堆数据需要求平均数,在节点1算完, 节点2算完,结果在节点3出错。此时并不需要全部重新开始计算,只需在出错的节点,即节点3重新计算即可)

Hadoop的结构主要是主从结构,分而治之。即一个主节点配有多个从节点。

在这里插入图片描述

Hadoop发展史(了解)

  • (1) 创始人是谁?

Hadoop创始人Doug Cutting,编写Lucene框架与Hadoop

  • (2) Lucene框架是什么

Lucene框架是与Google类似的全文搜索功能

  • (3) Lucene有什么特点

Java编写,开源,完整的查询引擎和索引引擎

  • (4) 搜索的难题是什么

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

  • (5) 难题如何解决?

参考Google在大数据方面的三篇论文,编写微型版Nutch
,后来,Google公开了部分GFS和Mapreduce思想的细节,DFS和MapReduce机制,使Nutch性能飙升

GFS —>HDFS Map-Reduce ----->MR BigTable ---->HBase

  • (6) Hadoop
  • 在这里插入图片描述

Map-Reduce和Nutch Distributed File System(NDFS)分别被纳入称为Hadoop的项目

Hadoop三大发行版本

  • (1)发行版是什么?

内核和一批有用的程序的的一个集合体比如Linux内核+应用软件

  • (2)三个发行版是什么?

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

  • (3)三个发行版的区别什么?

Apache版本最原始(最基础)的版本,对于入门学习最好(免费)
Cloudera在大型互联网企业中用的较多(服务收费CDH)
Hortonworks文档较好(收费HDH)

Hadoop的组成

在这里插入图片描述

  • (1)Hadoop的架构分为几部分?(或者由几部分组成)

1.x由hdfs,mapreduce,common
2.x由hdfs,mapreduce,yarn,common

  • (2)因为1.x与2.x的架构发生重大变化(面试重点)

1.x中,MapReduce做两件事:计算+资源调度
2.x中,MapReduce只做一件事:计算,资源调度由Yarn负责

  • (3)区别

2.x增加了Yarn

Hadoop组成一:HDFS
  • (1)什么是HDFS?

HDFS(Hadoop Distributed File System)

  • (2)HDFS由3部分组成

1)NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等.
2)DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和。
3)Secondary NameNode(2nn):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照.保持同步。

类似图书管借书,NameNode就好比仓库管理员,DataNode就是小仓库。Secondary NameNode就是NameNode的备胎。数据是分布在不同的书架上,但是每次借还都需要通过前台系统查找。

Hadoop组成二:MapReduce

在这里插入图片描述

  • (1)什么是MapReduce?

Hadoop中负责计算的部分

  • (2)MapReduce将计算过程分为两个阶段:Map和Reduce

1)Map阶段并行处理输入数据
2)Reduce阶段 MapR进行汇总

  • (3)分而治之
Hadoop组成三:Yarn
  • (1)什么是Yarn?

Hadoop中负责资源调度的部分

  • (2)Yarn由4部分组成

ResourceManager(RM)
NodeManager(NM)
ApplicationMaster(AM)
Container

  • (3) YARN架构
    在这里插入图片描述
    简单来说ResourceManager就相当于部门经理,NodeManager就相当于小组长,ApplicationMaster就相当于程序猿,管理运行程序的。
    一份资源过来,先经过ResourceManager部门经理,分配给NodeManager。NodeManager小组长也不干活,抛给最小的小弟ApplicationMaster来管理运行程序,当ApplicationMaster分配时就虚拟出一个Container,相当于资源的代练。然后Container就分给程序跑,跑完之后就可以回收了。

注意Yarn不参与计算,也不参与存储,存储是DFS的事情。是硬盘方面的问题。计算是程序算法的问题。

Yarn是管CPU跟内存的,管计算资源的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值