应聘-系统研发工程师

Hadoop阿里巴巴面试题目
前段时间接到阿里巴巴面试云计算,拿出来给我们共享下
1、hadoop运转的原理?
2、mapreduce的原理?
3、HDFS存储的机制?
4、举一个简略的比方阐明mapreduce是怎么来运转的 ?
5、面试的人给你出一些疑问,让你用mapreduce来完成?
比方:如今有10个文件夹,每个文件夹都有1000000个url.如今让你找出top1000000url。
6、hadoop中Combiner的效果?

(1) 解释“hadoop”和“hadoop生态系统”两个概念
(2) 说明Hadoop 2.0的基本构成
(3) 相比于HDFS1.0, HDFS 2.0最主要的改进在哪几方面?
(4) 试使用“步骤1,步骤2,步骤3…..”说明YARN中运行应用程序的基本流程
(5) “MapReduce 2.0”与“YARN”是否等同,尝试解释说明
(6) MapReduce 2.0中,MRAppMaster主要作用是什么,MRAppMaster如何实现任务容错的?

HADOOP核心组件
1.HDFS -C盘,D盘
2.YARN集群管理和调度,相当于WINDOWS,可以跑程序,管理进程
3.MAPREDUCE定义数据处理的基本操作,类似于visual studio开始开发自己软件

现在服务器这么多,日志分散在每个服务器上面,如果我好奇A今天又约了几个妹子,我得把几十台服务器的日志全部扫一遍才能知道,反正我只关心A到底约了几个不同的妹子,我用相同的程序扫描每台机器的日志,在里面找与A相关的聊天记录,把A发送的信息的收件人全部提出来,最后拿到一个地方汇总过滤一下不就好了嘛。每台服务器上面的日志文件太大了(大家小黄图发来发去)一次处理不完怎么办?反正我只关心A的相关记录,把大文件切割成小文件就好了嘛。这样的日志处理是把程序分布在每台电脑上运行,每台电脑上的处理程序都做相同的工作——找与A相关的聊天信息,然后把在所有服务器日志里面找到的信息集中发到一个服务器上,过滤汇总一下,就能知道A到底约了几炮啦。用来管理和执行这些分布式程序的软件系统,需要合理调度其控制的所有计算资源(比如其中一台电脑扫描完没事干了,不能让它闲下来,可以把别的电脑还没处理完的小文件发给它,让闲置的电脑来处理),最后得出结果。这样的分布式资源调度+分布式运算 的软件,就是HADOOP的另一个重要板块map-reduce,用来处理海量的文件,一开始也是GOOGLE搞出来的。

作者:麻仓叶
链接:https://www.zhihu.com/question/32326748/answer/57341870
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

HDFS
Namenode 管理者文件系统的Namespace命名空间。它维护着文件系统树(filesystem tree)以及文件树中所有的文件和文件夹的元数据(metadata)
[感谢石头的原创](http://developer.51cto.com/art/201301/376472.htm

Datanode是文件系统的工作节点,他们根据客户端或者是namenode的调度存储和检索数据,并且定期向namenode发送他们所存储的块(block)的列表。

Namenode容错机制:
1. 第一种方式是将持久化存储在本地硬盘的文件系统元数据备份.
2. 第二种方式是运行一个辅助的Namenode(Secondary Namenode)

Mapreduce
任务过程被分为两个阶段:map阶段和reduce阶段,每个阶段都是用键值对(key/value)作为输入(input)和输出(output)。而程序员要做的就是定义好这两个阶段的函数:map函数和reduce函数。

Combiner
http://www.tuicool.com/articles/qAzUjav

YARN
http://blog.csdn.net/aaronhadoop/article/details/50980920
提交-jar处理机制
spark采用file cache而不是application cache的原因,是因为spark在每个NM上启动的是一个executor,每个task作为executor里的一个线程在运行。而只需要在executor启动时,在这个节点上用file cache机制分发一次jar包,然后在每个task执行时,能共享到通过file cache传过来的jar包。所以采用file cache机制的原因,是要在task之间共享jar包。
http://blog.csdn.net/amber_amber/article/details/42081045
任务调度
http://www.zezhi.net/409.html
http://blog.csdn.net/javastart/article/details/50674043
http://spark.apache.org/docs/latest/job-scheduling.html#fair-scheduler-pools

YARN vs Mesos
Mesos 可以由master来决定接受还是reject这个job
http://blog.csdn.net/xinghun_4/article/details/47907161

Hadoop1 vs Hadoop2
1. MRv1是一个独立的离线计算框架,而MRv2则是运行于YARN之上的MRv1
2. Hadoop 2.0中对HDFS进行了改进,使NameNode可以横向扩展成多个,其中,每个NameNode分管一部分目录,这不仅增强了HDFS的扩展性,也使HDFS具备了隔离性

Spark vs Hadoop
感谢用心阁的原创
Mapreduce是低层次抽象,类似于与非门,那么Spark中的RDD就相当于逻辑当中的编码器,包装了Mapreduce,有多种操作:flatmap, groupby, filter, union,join
Mapreduce只有两个阶段:Map和Reduce, 中间结果存入HDFS文件系统中,也就是磁盘中
而Spark 分成stages多个阶段,中间结果存在内存中

Ambari:
http://www.cnblogs.com/scotoma/archive/2013/05/18/3085248.html

可视化
http://www.csdn.net/article/2015-07-08/2825162

发布了18 篇原创文章 · 获赞 2 · 访问量 3万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章