• 大数据常见面试题Hadoop篇(3)


    前几篇地址:

    大数据常见面试题 Hadoop篇(1)_后季暖的博客-CSDN博客

    大数据常见面试题 Hadoop篇(2)_后季暖的博客-CSDN博客

    目录

    36.HDFS文件能否直接删除或则修改?

    37.谈谈hdfs中的block、package、chunk?

    38.HDFS能否多线程写?

    39.读写过程,数据完整性如何保持?

    40.文件授权期限分为几个等级?

    41.谈谈hdfs中的Checksum?

    42.谈谈Hadoop序列化和反序列化及自定义bean对象实现序列化?

    43、什么样的计算不能用mr来提速?

    44.hadoop主要的端口有哪些?

    45.请简述Hadoop常用的配置文件及Hadoop集群搭建过程


    36.HDFS文件能否直接删除或则修改?

    HDFS上的文件不支持直接修改,是因为HDFS只支持一次写入,如果想要修改HDFS上的文件则需要将HDFS的文件下载到本地(hdfs dfs -get hdfs路径 本地路径),从本地进行修改,然后再上传到HDFS上(hdfs dfs -put 本地路径 hdfs路径)

    但是HDFS支持通过appendToFile追加:hdfs dfs -appendToFile 追加内容的文件 HDFS中要被追加的文件


    37.谈谈hdfs中的block、package、chunk

    1、block
    这个大家应该知道,文件上传前需要分块,这个块就是block,一般为128MB,当然你可以去改,不顾不推荐。因为块太小:寻址时间占比过高。块太大:Map任务数太少,作业执行速度变慢。它是最大的一个单位。
    2、package
    packet是第二大的单位,它是client端向DataNode,或DataNode的PipLine之间传数据的基本单位,默认64KB。
    3、chunk
    chunk是最小的单位,它是client向DataNode,或DataNode的PipLine之间进行数据校验的基本单位,默认512Byte,因为用作校验,故每个chunk需要带有4Byte的校验位。所以实际每个chunk写入packet的大小为516Byte。
     

    38.HDFS能否多线程写?

    不能
    hdfs的不能并发写指的是同位置同名文件只能有一个writer,否则会使得所有的上传请求失败。
    不同位置或者不同名的文件可以同时上传。

    39.读写过程,数据完整性如何保持?

    通过校验和。因为每个chunk中都有一个校验位,一个个chunk构成packet,一个个packet最终形成block,故可在block上求校验和。

    HDFS 的client端即实现了对 HDFS 文件内容的校验和 (checksum) 检查。当客户端创建一个新的HDFS文件时候,分块后会计算这个文件每个数据块的校验和,此校验和会以一个隐藏文件形式保存在同一个 HDFS 命名空间下。当client端从HDFS中读取文件内容后,它会检查分块时候计算出的校验和(隐藏文件里)和读取到的文件块中校验和是否匹配,如果不匹配,客户端可以选择从其他 Datanode 获取该数据块的副本。

    40.文件授权期限分为几个等级?

    文件授权期限分为软限制期硬限制期两个等级。当处于软限制期内时,写文件的客户端独占对文件的访问权。当软限制过期后,如果客户端无法关闭文件,或没有释放对文件的授权,其他客户端即可以预定获取授权。当硬限制期过期后(一小时左右),如果此时客户端还没有更新(释放)授权,HDFS会认为原客户端已经退出,并自动终止文件的写行为,收回文件控制授权。文件的写控制授权并不会阻止其他客户端对文件进行读操作。因此一个文件可以有多个并行的客户端对其进行读取。

    41.谈谈hdfs中的Checksum?

    在一个集群的数千个节点里,节点失效(往往是因为存储故障造成的)每天都有可能发生。DataNode中所包含的文件块备份可能会因为内存、磁盘或者网络的错误而造成损坏。为了避免这种错误的形成,HDFS会为其文件的每个数据块生成并存储一份Checksum(总和检查)。Checksum主要供HDFS客户端在读取文件时检查客户端,DataNode以及网络等几个方面可能造成的数据块损坏。当客户端开始建立HDFS文件时,会检查文件的每个数据块的checksum序列,并将其与数据一起发送给DataNode。 DataNode则将checksum存放在文件的元数据文件里,与数据块的具体数据分开存放。当HDFS读取文件时,文件的每个块数据和checksum均被发送到客户端。客户端会即时计算出接受的块数据的checksum, 并将其与接受到的checksum进行匹配。如果不匹配,客户端会通知NameNode,表明接受到的数据块已经损坏,并尝试从其他的DataNode节点获取所需的数据块。

    42.谈谈Hadoop序列化和反序列化及自定义bean对象实现序列化?

    1)序列化和反序列化
      (1)序列化就是把内存中的对象,转换成字节序列(或其他数据传输协议)以便于存储(持久化)和网络传输。
      (2)反序列化就是将收到字节序列(或其他数据传输协议)或者是硬盘的持久化数据,转换成内存中的对象。
      (3)Java的序列化是一个重量级序列化框架(Serializable),一个对象被序列化后,会附带很多额外的信息(各种校验信息,header,继承体系等),不便于在网络中高效传输。所以,hadoop自己开发了一套序列化机制(Writable),精简、高效。
    2)自定义bean对象要想序列化传输步骤及注意事项:
      (1)必须实现Writable接口
      (2)反序列化时,需要反射调用空参构造函数,所以必须有空参构造
      (3)重写序列化方法
      (4)重写反序列化方法
      (5)注意反序列化的顺序和序列化的顺序完全一致
      (6)要想把结果显示在文件中,需要重写toString(),且用"\t"分开,方便后续用
      (7)如果需要将自定义的bean放在key中传输,则还需要实现comparable接口,因为mapreduce框中的shuffle过程一定会对key进行排序

    43、什么样的计算不能用mr来提速?

     1)数据量很小。
      2)繁杂的小文件。
      3)索引是更好的存取机制的时候。
      4)事务处理。
      5)只有一台机器的时候。

    44.hadoop主要的端口有哪些?

    • 默认端口 设置位置
    • 9000 namenode
    • 8020 namenode
    • 8021 JT RPC
    • 50030 mapred.job.tracker.http.address JobTracker administrative web GUI
    • 50070 dfs.http.address NameNode administrative web GUI
    • 50010 dfs.datanode.address DataNode control port
    • 50020 dfs.datanode.ipc.address DataNode IPC port, used for block transfer
    • 50060 mapred.task.tracker.http.address Per TaskTracker web interface
    • 50075 dfs.datanode.http.address Per DataNode web interface
    • 50090 dfs.secondary.http.address Per secondary NameNode web interface

    45.请简述Hadoop常用的配置文件及Hadoop集群搭建过程

    1、配置文件:

    Hadoop2.x的配置文件有core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、slaves

    Hadoop3.x的配置文件有core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、workers

    2、简单的集群搭建过程:

    JDK安装

    配置SSH免密登录

    配置hadoop核心文件

    格式化namenode
     

  • 相关阅读:
    C语言”三子棋“升级版(模式选择+”模拟智能“下棋)
    【推荐系统】什么是好的推荐系统?个性化和非个性化推荐
    如何将Java 8 Calendar转换为 LocalDateTime?
    【贪心算法】贪心算法与活动安排问题
    springboot接口参数校验(JSR303)
    面试研发岗,我掏出自己的计算机二级证书,面试官问我礼貌吗?
    Leetcode学习记录(1)
    SpringMVC-拦截器
    从ObjectPool到CAS指令
    JsonPath 数据快速查找和提取工具
  • 原文地址:https://blog.csdn.net/weixin_51981189/article/details/127909499