大数据面试题答案

待续: Hadoop shuffle流程
Hive调优
kafka 数据重复和数据乱序:幂等性
flume调优
监控

hadoop
0.什么是hadoo
Hadoop是一个分布式系统基础架构,解决数据存储和数据分析计算的问题

1.hadoop三大框架及作用
    1.HDFS:数据的存储
    2.Mapreduce:数据的计算
    3.YARN :给计算框架分配资源

2.HDFS读流程
    1.Client 调用 FS.ope与NN通信,
        NN以FSDataInputS返回部分或全部的block列表
    2.Client调用FSDataInputS.read
        去第一个块最近的DN读取
        读取完成,check,若ok关闭DN通信
        读取失败,记录DN和block
        下次不再从这个节点读取,找第二个节点
    3.当block读取完,文件未读取完,则调用下一批block
    4.Client调用FSDataInputS.close关闭输入流

3.HDFS写流程
    1.Client调用FS.create方法和nn通信,
       检查是否路径文件是否存在,
       检查是否有权限去创建
       检查通过创建文件
    2.nn根据文件大小,块大小,副本数参数】
      计算块的数量,和存储DN位置,
      返回给FSOutS
    3.Client调用FSOutS.write方法
      将第一个块的第一个副本写在第一个DN上
      在第二个DN写第二副本
      在第三个DN写第三副本
    4.当第三个副本写完,返回一个ack包给DN2节点
      DN2也写完返回一个ack包给DN1
      DN1也写完返回一个ack包给FSOuts
    5.重复流程直到所有块写完,client调用
    FSOutS的close,告诉NN,文件写完             
4.yarn流程
    1.client向RM提交job,申请job_id
    2.RM返回job_id和作业的路径给client
    3.client将数据提交到指定路径
    4.client向RM提交执行作业请求
    5.RM 创建一个Appmaster管理该job
    6.Appmaster将该job添加到ResourceScheduler
    7.到该job执行时,ResourceScheduler通知Appmaster有一个空闲的NM
    8.Appmaster启动NM,让NM开辟容器,并启动job对应的Appmaster
    9.Appmaster获取HDFS的文件
    10.Appmaster向RM申请运行资源
    11.RM分配task任务,NM创建用于执行task的容器 
    12.Appmaster通知NM启动计算
    13.NM计算,并执行后续的task
    14.Appmaster向RM申请注销

5.Mapreduce流程
    1.map task
        1.读取数据,对文件切片得
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值