1. namenode的重要性是什么?

namenode的作用在Hadoop中非常重要。它是Hadoop的大脑,主要负责管理系统上的分配块,还为客户提出请求时的数据提供特定地址

2. 当NameNode关闭时会发生什么?

如果NameNode关闭,文件系统将脱机。

3. 是否可以在不同集群之间复制文件?如果是的话,怎么能做到这一点?

是的,可以在多个Hadoop集群之间复制文件,这可以使用分布式复制来完成。Distcp是一个Hadoop复制工具,主要用于执行MapReduce作业来复制数据。 Hadoop环境中的主要挑战是在各集群之间复制数据,distcp也将提供多个datanode来并行复制数据。

4. 什么是检查点?

对文件数据的修改不是直接写回到磁盘的,很多操作是先缓存到内存的Buffer中,当遇到一个检查点Checkpoint时,系统会强制将内存中的数据写回磁盘,当然此时才会记录日志,从而产生持久的修改状态。因此,不用重放一个编辑日志,NameNode可以直接从FsImage加载到最终的内存状态,这肯定会降低NameNode启动时间

5. 什么是机架感知?

这是一种决定如何根据机架定义放置块的方法。Hadoop将尝试限制存在于同一机架中的datanode之间的网络流量。为了提高容错能力,名称节点会尽可能把数据块的副本放到多个机架上。综合考虑这两点的基础上Hadoop设计了机架感知功能。

6. 投机性执行

如果一个节点正在执行比主节点慢的任务。那么就需要在另一个节点上冗余地执行同一个任务的一个实例。所以首先完成的任务会被接受,另一个可能会被杀死。这个过程被称为“投机执行”。

7. 是否可以在Windows上运行Hadoop?

可以,但是最好不要这么做,Red Hat Linux或者是Ubuntu才是Hadoop的最佳操作系统。在Hadoop安装中,Windows通常不会被使用,因为会出现各种各样的问题。因此,Windows绝不是Hadoop推荐系统。

8. 主动和被动“名称节点”是什么?

在HA(高可用性)架构中,我们有两个NameNodes - Active“NameNode”和被动“NameNode”。

活动“NameNode”是在集群中运行的“NameNode”。

被动“NameNode”是一个备用的“NameNode”,与“NameNode”有着相似的数据。

当活动的“NameNode”失败时,被动“NameNode”将替换群集中的活动“NameNode”。因此,集群永远不会没有“NameNode”,所以它永远不会失败。

9. 如果 NameNode 意外终止,SecondaryNameNode 会接替它使集群继续工作

错误,SecondaryNameNode是帮助恢复,而不是替代,如何恢复,可以查看

10. Block Size 是不可以修改的

它是可以被修改的Hadoop 的基础配置文件是 hadoop-default.xml,默认建立一

个 Job 的时候会建立 Job 的 Config,Config 首先读入hadoop-default.xml 的配置,然

后再读入 hadoop-site.xml 的配置(这个文件初始的时候配置为空),hadoop-site.xml 中主要配置需要覆盖的hadoop-default.xml 的系统级配置

11. 请列出你所知道的hadoop调度器,并简要说明其工作方法

--1.先进先出调度器(FIFO)

--Hadoop 中默认的调度器,也是一种批处理调度器。它先按照作业的优先级高低,再按照到达时间的先后选择被执行的作业

--2.容量调度器(Capacity Scheduler)

--支持多个队列,每个队列可配置一定的资源量,每个队列采用FIFO调度策略,为了防止同一个用户的作业独占队列中的资源,该调度器会对同一用户提交的作业所占资源量进行限定。调度时,首先按以下策略选择一个合适队列:计算每个队列中正在运行的任务数与其应该分得的计算资源之间的比值,选择一个该比值最小的队列;然后按以下策略选择该队列中一个作业:按照作业优先级和提交时间顺序选择,同时考虑用户资源量限制和内存限制

--3.公平调度器(Fair Scheduler)

--公平调度是一种赋予作业(job)资源的方法,它的目的是让所有的作业随着时间的推移,都能平均的获取等同的共享资源。所有的 job 具有相同的资源,当单独一个作业在运行时,它将使用整个集群。当有其它作业被提交上来时,系统会将任务(task)空闲资源(container)赋给这些新的作业,以使得每一个作业都大概获取到等量的CPU时间。与Hadoop默认调度器维护一个作业队列不同,这个特性让小作业在合理的时间内完成的同时又不"饿"到消耗较长时间的大作业。公平调度可以和作业优先权搭配使用——优先权像权重一样用作为决定每个作业所能获取的整体计算时间的比例。同计算能力调度器类似,支持多队列多用户,每个队列中的资源量可以配置, 同一队列中的作业公平共享队列中所有资源。

12. 请简述mapreduce中,combiner,partition作用?

在MapReduce整个过程中,combiner是可有可无的,需要是自己的情况而定,如果只是单纯的对map输出的key-value进行一个统计,则不需要进行combiner,combiner相当于提前做了一个reduce的工作,减轻了reduce端的压力,

Combiner只应该适用于那种Reduce的输入(key:value与输出(key:value)类型完全一致,且不影响最终结果的场景。比如累加,最大值等,也可以用于过滤数据,在 map端将无效的数据过滤掉。

在这些需求场景下,输出的数据是可以根据key值来作合并的,合并的目的是减少输出的数据量,减少IO的读写,减少网络传输,以提高MR的作业效率。

1.combiner的作用就是在map端对输出先做一次合并,以减少传输到reducer的数据量.

2.combiner最基本是实现本地key的归并,具有类似本地reduce,那么所有的结果都是reduce完成,效率会相对降低。

3.使用combiner,先完成的map会在本地聚合,提升速度.

--partition意思为分开,分区。它分割map每个节点的结果,按照key分别映射给不同的reduce,也是可以自定义的。其实可以理解归类。也可以理解为根据key或value及reduce的数量来决定当前的这对输出数据最终应该交由哪个reduce task处理

partition的作用就是把这些数据归类。每个map任务会针对输出进行分区,及对每一个reduce任务建立一个分区。划分分区由用户定义的partition函数控制,默认使用哈希函数来划分分区。

HashPartitioner是mapreduce的默认partitioner。计算方法是

which reducer=(key.hashCode() &Integer.MAX_VALUE) % numReduceTasks,得到当前的目的reducer

13. hadoop的优化

1)优化的思路可以从配置文件和系统以及代码的设计思路来优化

2)配置文件的优化:调节适当的参数,在调参数时要进行测试

3)代码的优化:combiner的个数尽量与reduce的个数相同,数据的类型保持一致,可以减少拆包与封包的进度

4)系统的优化:可以设置linux系统打开最大的文件数预计网络的带宽MTU的配置

5)为 job 添加一个 Combiner,可以大大的减少shuffer阶段的maoTask拷贝过来给远程的reduce task的数据量,一般而言combiner与reduce相同。

6)在开发中尽量使用stringBuffer而不是string,string的模式是read-only的,如果对它进行修改,会产生临时的对象,二stringBuffer是可修改的,不会产生临时对象。

hadoop job 数量_大数据Hadoop常见面/笔试题相关推荐

  1. 某某证券大数据开发工程师招聘笔试题

    某某证券大数据开发工程师招聘笔试题 一.基础知识(单选题,每题1分,共10分) 1.实现两个远程主机之间的文件复制是用 ( D ) . A . mv B . cp C . cut D. scp 2.一 ...

  2. Hadoop数据工程师_大数据Hadoop技术好学吗

    在大数据技术体系当中,Hadoop无疑是占据着非常重要的位置.从2005年Hadoop项目诞生开始,到如今发展到相对成熟稳定的阶段,Hadoop技术在大数据处理当中的重要性无疑是值得关注的,很多企业也 ...

  3. 大数据平台常见面试题

    https://blog.csdn.net/albg_boy/article/details/78424509 第1部分          申请ID.. 3 第2部分          部署kafka ...

  4. 大数据与数据挖掘考试题_大数据时代下的数据挖掘试题及答案

    <海量数据挖掘技术及工程实践>题目 一.单选题(共 80 题) 1) ( D ) 的目的缩小数据的取值范围,使其更适合于数据挖掘算法的需要,并且能够得到和 原始数据相同的分析结果. A. ...

  5. c++调用栈库函数_大华 | C/C++ 校招笔试题

    作者 | 鲜枣 大华,全球领先的以视频为核心的智慧物联网解决方案提供商和运营服务商.试题来自牛客网. 一 静态局部变量存储在进程的(). A  栈区 B  寄存器区 C  代码区 D  全局区 答案: ...

  6. 2021年大数据Hadoop(三十):Hadoop3.x的介绍

    全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 Hadoop3.x的介绍 介绍 Hadoop 3.0新特性 ...

  7. 2021年大数据Hadoop(二十九):​​​​​​​关于YARN常用参数设置

    全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 关于yarn常用参数设置 设置container分配最小内 ...

  8. 2021年大数据Hadoop(二十七):YARN运行流程

    全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 Yarn运行流程 本系列历史文章 2021年大数据Hado ...

  9. 2021年大数据Hadoop(二十六):YARN三大组件介绍

    全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 Yarn三大组件介绍 ResourceManager No ...

最新文章

  1. 想要准备阿里/百度/腾讯/美团的面试?了解一下
  2. oracle的quit命令,Oracle的启动和关闭
  3. 万亿市场下,电商代运营还需另求“第二曲线”
  4. SpringMVC-web.xml头代码
  5. 笔记本电脑风扇声音大_笔记本风扇噪音太大?教你怎么降低笔记本风扇噪音
  6. Java Web应用小案例:查询城市天气信息
  7. UI完美配色专辑|色彩是影响设计使用者情绪和行为行为的最重要因素之一
  8. 8.19 NOIP模拟测试26(B) 嚎叫响彻在贪婪的厂房+主仆见证了 Hobo 的离别+征途堆积出友情的永恒...
  9. python输出文件夹路径_python如何获取文件夹下第一层文件的路径,
  10. 如何批量将 Word 文档转为 TXT 文本文档格式
  11. 网页视频播放器代码大全 + 21个为您的网站和博客提供的免费视频播放器
  12. 你天天看手机,手机也在看你
  13. 实验三 数字加法器的设计【Verilog】
  14. 【LOJ#6198】—谢特(后缀数组+01Trie)
  15. Linux批量检测网络策略
  16. 我给新加坡华人送外卖,一趟5000块
  17. 高阳:我是黑客我怕谁
  18. 交通预见未来(1):循环神经网络之LSTM,不只有七秒钟的记忆
  19. 为什么PHP在很多公司遭到弃用?
  20. wrl转换pcd格式Python实现

热门文章

  1. Microbiome:NGLess语言实现快速可重复分析宏基因组的流程NG-meta-profiler
  2. Nature:iHMP之“微生物组与前驱糖尿病”
  3. ggplot2笔记6:标度、轴和图例
  4. python使用matplotlib可视化、查看matplotlib可视化中不同字体形式、不同字号、斜体可视化的效果对比
  5. Python使用matplotlib可视化发散型点图、发散型点图可以同时处理负值和正值、并按照大小排序区分数据、为发散型点图添加数值标签(Diverging Dot Plot )
  6. R语言禁止数值表示为科学计数法实战(Turn Off Scientific Notation ):全局设置或者单变量设置
  7. R语言统计代码运行耗时实战:计算代码运行时间、使用proc.time函数计算代码运行时间
  8. 机器学习数据预处理之缺失值:插值法填充+ lagrange插值+拉格朗日插值
  9. 如何用c语言打出 * * * * * * * * * * * * *?
  10. 机器学习算法之K-近邻算法