Hadoop基础
介绍下Hadoop
回答技巧:说下Hadoop核心组件,讲下HDFS原理、MapReduce过程等,也可以在介绍完组件部分后, 看看面试官会不会继续往下问(比如让你说下HDFS读写流程、MapReduce工作原理等),给面试官留点 空间,这样回答下去,面试官能发掘你的技能点,你也能面的轻松些。如果没问了,就算了。当然你一 下全说完,面试官有兴趣也可以。
参考答案:
1、先说下Hadoop是什么
Hadoop是一个分布式系统基础架构,主要是为了解决海量数据的存储和海量数据的分析计算问题。
2、说下Hadoop核心组件
Hadoop自诞生以来,主要有Hadoop 1.x、2.x、3.x三个系列多个版本;
Hadoop 1.x组成:HDFS(具有高可靠性、高吞吐量的分布式文件系统,用于数据存储), MapReduce(同时处理业务逻辑运算和资源的调度),Common(辅助工具,为其它Hadoop模块提供基 础设施);
Hadoop 2.x和Hadoop 3.x组成上无变化,和Hadoop 1.x相比,增加了YARN,分担了MapReduce的工作, 组件包括:HDFS(具有高可靠性、高吞吐量的分布式文件系统,用于数据存储),MapReduce(处理业 务逻辑运算),YARN(负责作业调度与集群资源管理),Common(辅助工具,为其它Hadoop模块提 供基础设施)。
这里也可以先说各个系列的Hadoop组成,然后再说下HDFS、MapReduce、YARN和Common的作用(见
“Hadoop主要分哪几个部分?他们有什么作用?”)。
Hadoop的特点
问过的一些公司:字节参 考 答 案 : 1)高可靠性
Hadoop底层维护多个数据副本,即使Hadoop某个计算元素或存储出现故障时,也不会大致数据的丢失
1 高扩展性
在集群间分配任务数据,可方便的扩展数以千计的节点
2 高效性
在MapReduce的思想下,Hadoop是并行工作,加快任务处理速度
3 高容错性
能够自动将失败的任务重新分配
说下Hadoop生态圈组件及其作用
回答技巧:说一些就可以了,不用全部说完,如果问还有吗,知道就说,不知道就说不知道,别画蛇添 足
可回答:对Hadoop生态的理解
1.Zookeeper:是一个开源的分布式应用程序协调服务,基于zookeeper可以实现同步服务,配置维护, 命名服务。
2.Flume:一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。
3.Hbase:是一个分布式的、面向列的开源数据库, 利用Hadoop HDFS作为其存储系统。
4.Hive:基于Hadoop的一个数据仓库工具,可以将结构化的数据档映射为一张数据库表,并提供简单 的sql 查询功能,可以将sql语句转换为MapReduce任务进行运行。
5.Sqoop:将一个关系型数据库中的数据导进到Hadoop的 HDFS中,也可以将HDFS的数据导进到关系型数据库中。
Hadoop主要分哪几个部分?他们有什么作用?
可回答:1)Hadoop的组件有哪些;2)Hadoop原理
参考答案:

Hadoop主要组件如上图,主要是HDFS、MapReduce、YARN、Common
HDFS
HDFS是一个文件系统,用于存储文件,通过目录树来定位文件。
其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。
HDFS 的使用场景:适合一次写入,多次读出的场景。一个文件经过创建、写入和关闭之后就不需要改变。
MapReduce
MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。
MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序, 并发运行在一个Hadoop集群上。
MapReduce将计算过程分为两个阶段:Map和Reduce
Map阶段并行处理输入数据Reduce阶段对Map结果进行汇总
YARN
先来看两个问题,在Hadoop中如何管理集群资源?
如何给任务合理分配资源?
YARN在Hadoop中的作用,就是上面两个问题的答案。Yarn 是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行于操作系 统之上的应用程序。
Common
Hadoop体系最底层的一个模块,为Hadoop各子项目提供各种工具,如:配置文件和日志操作等。
Hadoop 1.x,2.x,3.x的区别

参考答案:
Hadoop 1.x阶段,Hadoop中的MapReduce同时处理业务逻辑运算和资源的调度,耦合性较大;
Hadoop 2.x阶段,增加了Yarn。Yarn只负责资源的调度,MapReduce只负责运算;
Hadoop 3.x相比于Hadoop 2.x阶段在组成上没有变化。
4 NameNode
就是Master,Hadoop的主管、管理者
1管理HDFS的名称空间;
2配置副本策略;
3管理数据块(Block)映射信息;
4处理客户端读写请求。
5 DataNode
就是Slave。NameNode下达命令,DataNode执行实际的操作。
1存储实际的数据块;
2执行数据块的读/写操作。
6 Secondary NameNode
Secondary NameNode并非NameNode的热备。当NameNode挂掉的时候,它并不能马上替换NameNode
并提供服务。而是提供周期检查点和清理任务,帮助NN合并editslog,减少NN启动时间。
1辅助NameNode,分担其工作量,如定期合并Fsimage和Edits,并推送给NameNode
2在紧急情况下,可辅助恢复NameNode
7 ResourceManager(JobTracker)
整个集群资源(内存、CPU等)的老大。负责集群中所有资源的统一管理和分配,它接受来自各个节点
(NodeManager)的资源汇报信息,并把这些信息按照一定的策略分配给各个应用程序(即
ApplicationMaster)。
Hadoop核心组件解析与生态系统

最低0.47元/天 解锁文章
6434

被折叠的 条评论
为什么被折叠?



