zoukankan      html  css  js  c++  java
  • 大数据开发面试题详解:Hadoop的运行原理

    hadoop的核心思想是MapReduce,但shuffle又是MapReduce的核心。shuffle的主要工作是从Map结束到Reduce开始之间的过程。

    Hadoop不仅仅是大数据技术的核心重点,还是我们面试官面试的时候经常会问道的问题,本文将详细介绍Hadoop的运行原理。

    hadoop运行原理包括HDFS和Mapreduce两部分。

    1)HDFS自动保存多个副本,移动计算。缺点是小文件存取占用namenode内存,写入只支持追加,不能随机修改。

    它存储的逻辑空间称为block,文件的权限类似linux。整体架构分三种节点,NN,SNN,DN

    NN 负责读写操作保存metadata(Ownership Permission blockinfo)

    SNN 负责辅助NN合并fsimage和edits,减少nn启动时间

    DN 负责存数据,每个数据(文件)分割成若干block,每个block默认3个副本。启动后像NN发送心跳保持联系

    NN保存的metadata在hdfs启动后加载到计算机内存,除block位置信息的metadata保存在OS文件系统中的fsimage文件中,对metadata的操作日志保存在OS文件系统中的edits文件中。block位置信息是hdfs启动后由DN上报NN再加载到内存的。

    HDFS的安全模式:直到NN完全加载完metadata之前的这段时间。期间不能写入文件,DN检查各个block完整性,并修复。

    2)MapReduce

    离线计算框架,过程分为split map shuffle reduce四个过程

    架构节点有:Jobtracker TaskTracker

    Split将文件分割,传输到mapper,mapper接收KV形式的数据,经过处理,再传到shuffle过程。

    Shuffle先进行HashPartition或者自定义的partition,会有数据倾斜和reduce的负载均衡问题;再进行排序,默认按字典排序;为减少mapper输出数据,再根据key进行合并,相同key的数据value会被合并;最后分组形成(key,value{})形式的数据,输出到下一阶段

    Reduce输入的数据就变成了,key+迭代器形式的数据,再进行处理。

    以上是对大数据技术面试题的详细解析,当然了,既然是面试题不可能只有一道,小编还在积极预测备选中,针对大数据技术的重点内容进行详细讲解和阶段测试,让同学们真正掌握大数据技术,通过一周一小测,一个月一大测的培训原则,给学生外界的学习推力。更多精彩,欢迎持续关注~

  • 相关阅读:
    PAT (Advanced Level) 1114. Family Property (25)
    PAT (Advanced Level) 1113. Integer Set Partition (25)
    PAT (Advanced Level) 1112. Stucked Keyboard (20)
    PAT (Advanced Level) 1111. Online Map (30)
    PAT (Advanced Level) 1110. Complete Binary Tree (25)
    PAT (Advanced Level) 1109. Group Photo (25)
    PAT (Advanced Level) 1108. Finding Average (20)
    PAT (Advanced Level) 1107. Social Clusters (30)
    PAT (Advanced Level) 1106. Lowest Price in Supply Chain (25)
    PAT (Advanced Level) 1105. Spiral Matrix (25)
  • 原文地址:https://www.cnblogs.com/qf-dd/p/10215932.html
Copyright © 2011-2022 走看看