ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

大数据面试题V3.0

2022-06-28 11:33:32  阅读:184  来源: 互联网

标签:xml 面试题 V3.0 Hadoop edits MR RM 数据 节点



Hadoop基础

  1. 介绍下Hadoop

    分布式系统架构。开发分布式程序。利用集群的威力进行高速运算和存储。
  2. Hadoop的特点

    高可靠性
    高效性
    高可扩展性
    高容错性
    低成本
  3. 说下Hadoop生态圈组件及其作用

    1,HDFS (分布式文件系统)
    2,资源管理器(YARN 和 mesos)
    3,mapreduce(分布式计算框架)
    4,flume(日志收集工具)
    5, hive(基于hadoop的数据仓库)
    6,hbase(分布式列存数据库)
    7,zookeeper(分布式协作服务)
    8,sqoop(数据同步工具)
    9,pig(基于hadoop的数据流系统)
    10,mahout(数据挖掘算法库)
  4. Hadoop主要分哪几个部分?他们有什么作用?

    三大核心组件:
    HDFS(分布式文件存储)
    MAPREDUCE(分布式计算)
    YARN(资源调度)
  5. Hadoop 1.x,2x,3.x的区别

    Hadoop1.x : MR 处理业务逻辑运算 和 资源的调度,耦合性较大。
    Hadoop2.x : 增加了Yarn。Yarn负责资源的调度,MR负责运算。
    Hadoop3.x : 在组成上没有变化。
  6. 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文件.
  7. 在集群计算的时候,什么是集群的主要瓶颈

    磁盘IO
  8. 搭建Hadoop集群的xml文件有哪些?

    core-site.xml      核心配置文件,主要定义文件访问 hdfs://
    hadoop-env.sh      主要配java路径
    hdfs-site.xml       hdfs的相关配置
    mapred-site.xml    MR相关配置
    slaves               从节点
    yarm-site.xml       资源调度
  9. Hadoop的checkpoint流程

    1. 请求主节点Namenode 停⽌使⽤ edits⽂件,将新的写操作记录到新⽂件 edits.new。
    2. 从主节点获取 fsimage 和 edits ⽂件(采⽤HTTP GET)
    3. 将 fsimage 载⼊内存,执⾏ edits 的操作,创建新 fsimage,并发回主节点(使⽤HTTP POST)
    4. 主节点将换旧的 fsimage ,⽤ edits.new 替换 edits⽂件。更新 fstime ⽂件 记录检查点执⾏的时间。
  10. Hadoop的默认块大小是多少?为什么要设置这么大?

    Hadoop 1 默认大小 64M
    Hadoop 2 之后默认大小 128M 
    为了最小化寻址开销
  11. Block划分的原因

    文件是分布式储存的,被分成块分别储存在不同的机器上。
    而多个副本,是为了安全的考虑。
  12. Hadoop常见的压缩算法?

    gzip、lzo、snappy、Bzip2
  13. 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)作业完成

     

  14. Hadoop的Combiner的作用

  15. Hadoop序列化和反序列化

  16. Hadoop的运行模式

  17. Hadoop小文件处理问题

  18. Hadoop为什么要从2.x升级到3.x?

  19. Hadoop的优缺点

标签:xml,面试题,V3.0,Hadoop,edits,MR,RM,数据,节点
来源: https://www.cnblogs.com/chang09/p/16418882.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有