大数据面试题V3.0
作者:互联网
Hadoop基础
-
介绍下Hadoop
分布式系统架构。开发分布式程序。利用集群的威力进行高速运算和存储。
-
Hadoop的特点
高可靠性 高效性 高可扩展性 高容错性 低成本
-
说下Hadoop生态圈组件及其作用
1,HDFS (分布式文件系统) 2,资源管理器(YARN 和 mesos) 3,mapreduce(分布式计算框架) 4,flume(日志收集工具) 5, hive(基于hadoop的数据仓库) 6,hbase(分布式列存数据库) 7,zookeeper(分布式协作服务) 8,sqoop(数据同步工具) 9,pig(基于hadoop的数据流系统) 10,mahout(数据挖掘算法库)
-
Hadoop主要分哪几个部分?他们有什么作用?
三大核心组件: HDFS(分布式文件存储) MAPREDUCE(分布式计算) YARN(资源调度)
-
Hadoop 1.x,2x,3.x的区别
Hadoop1.x : MR 处理业务逻辑运算 和 资源的调度,耦合性较大。 Hadoop2.x : 增加了Yarn。Yarn负责资源的调度,MR负责运算。 Hadoop3.x : 在组成上没有变化。
-
Hadoop集群工作时启动哪些进程?它们有什么作用?
1)NameNode主服务器,管理 名称空间 和对 文件访问,保存metadate。 2)SecondaryNameNode提供周期检查点和清理任务。 3)DataNode守护进程,负责管理连接到节点的存储。 4)ResourceManager JobTracker负责调度DataNode上的工作。TaskTracker执行实际工作。 5)NodeManager TaskTracker执行任务。 6)DFSZKFailoverController高可用时它负责监控NN的状态,并及时的把状态信息写入ZK。它通过一个独立线程周期性的调用NN上的一个特定接口来获取NN的健康状态。FC也有选择谁作为Active NN的权利,因为最多只有两个节点,目前选择策略还比较简单(先到先得,轮换)。 7)JournalNode 高可用情况下存放namenode的editlog文件.
-
在集群计算的时候,什么是集群的主要瓶颈
磁盘IO
-
搭建Hadoop集群的xml文件有哪些?
core-site.xml 核心配置文件,主要定义文件访问 hdfs:// hadoop-env.sh 主要配java路径 hdfs-site.xml hdfs的相关配置 mapred-site.xml MR相关配置 slaves 从节点 yarm-site.xml 资源调度
-
Hadoop的checkpoint流程
1. 请求主节点Namenode 停⽌使⽤ edits⽂件,将新的写操作记录到新⽂件 edits.new。 2. 从主节点获取 fsimage 和 edits ⽂件(采⽤HTTP GET) 3. 将 fsimage 载⼊内存,执⾏ edits 的操作,创建新 fsimage,并发回主节点(使⽤HTTP POST) 4. 主节点将换旧的 fsimage ,⽤ edits.new 替换 edits⽂件。更新 fstime ⽂件 记录检查点执⾏的时间。
-
Hadoop的默认块大小是多少?为什么要设置这么大?
Hadoop 1 默认大小 64M Hadoop 2 之后默认大小 128M 为了最小化寻址开销
-
Block划分的原因
文件是分布式储存的,被分成块分别储存在不同的机器上。 而多个副本,是为了安全的考虑。
-
Hadoop常见的压缩算法?
gzip、lzo、snappy、Bzip2
-
Hadoop作业提交到YARN的流程?
(1)作业提交 Client 调用 job.waitForCompletion 方法,向整个集群提交 MapReduce 作业, 向 RM 申请一个作业 id。 RM 给 Client 返回该 job 资源的提交路径和作业 id。 Client 提交 jar 包、切片信息和配置文件到指定的资源提交路径,向 RM 申请运行 MrAppMaster。 (2)作业初始化 当 RM 收到 Client 的请求后,AppManager 将该 job 添加到容量调度器 Scheduler 中。空闲的 NodeManager 领取到该 Job,NM 创建 Container,并产生 Appmaster,下载 Client 提交的资源到本地。 (3)任务分配 AppMaster 向 RM 申请运行多个 MapTask 任务资源,RM 将运行 MapTask 任务分配给另外空闲的 NodeManager,领取任务后创建容器。 (4)任务运行 MR 向两个接收到任务的 NodeManager 发送程序启动命令,启动 MapTask,MapTask 对数据分区排序。运行完毕后,AppMaster向RM申请容器,运行ReduceTask。ReduceTask 向 MapTask 获取相应分区的数据。程序运行完毕后,MR 会向 RM 申请注销自己。 (5)进度和状态更新 YARN 中的任务将其进度和状态(包括 counter)返回给应用管理器, 客户端每秒(通过 mapreduce.client.progressmonitor.pollinterval 设置)向应用管理器请求进度更新, 展示给用户。 (6)作业完成
-
Hadoop的Combiner的作用
-
Hadoop序列化和反序列化
-
Hadoop的运行模式
-
Hadoop小文件处理问题
-
Hadoop为什么要从2.x升级到3.x?
-
Hadoop的优缺点
标签:xml,面试题,V3.0,Hadoop,edits,MR,RM,数据,节点 来源: https://www.cnblogs.com/chang09/p/16418882.html