- 相关推荐
Hadoop面试试题
在日复一日的学习、工作生活中,我们会经常接触并使用试题,试题可以帮助学校或各主办方考察参试者某一方面的知识才能。你知道什么样的试题才能切实地帮助到我们吗?以下是小编整理的Hadoop面试试题,仅供参考,欢迎大家阅读。
一、什么是Hadoop?
Hadoop是一个开源软件框架,用于存储大量数据,并发处理/查询在具有多个商用硬件(即低成本硬件)节点的集群上的那些数据。总之,Hadoop包括以下内容:
HDFS(Hadoop Distributed File System,Hadoop分布式文件系统):HDFS允许你以一种分布式和冗余的方式存储大量数据。例如,1 GB(即1024 MB)文本文件可以拆分为16 * 128MB文件,并存储在Hadoop集群中的8个不同节点上。每个分裂可以复制3次,以实现容错,以便如果1个节点故障的话,也有备份。HDFS适用于顺序的“一次写入、多次读取”的类型访问。
MapReduce:一个计算框架。它以分布式和并行的方式处理大量的数据。当你对所有年龄> 18的用户在上述1 GB文件上执行查询时,将会有“8个映射”函数并行运行,以在其128 MB拆分文件中提取年龄> 18的用户,然后“reduce”函数将运行以将所有单独的输出组合成单个最终结果。
YARN(Yet Another Resource Nagotiator,又一资源定位器):用于作业调度和集群资源管理的框架。
Hadoop生态系统,拥有15多种框架和工具,如Sqoop,Flume,Kafka,Pig,Hive,Spark,Impala等,以便将数据摄入HDFS,在HDFS中转移数据(即变换,丰富,聚合等),并查询来自HDFS的数据用于商业智能和分析。
某些工具(如Pig和Hive)是MapReduce上的抽象层,而Spark和Impala等其他工具则是来自MapReduce的改进架构/设计,用于显著提高的延迟以支持近实时(即NRT)和实时处理。
二、基于Hadoop的数据中心的好处是什么?
随着数据量和复杂性的增加,提高了整体SLA(即服务水平协议)。例如,“Shared Nothing”架构,并行处理,内存密集型处理框架,如Spark和Impala,以及YARN容量调度程序中的资源抢占。
1、缩放数据仓库可能会很昂贵:添加额外的高端硬件容量以及获取数据仓库工具的许可证可能会显著增加成本。基于Hadoop的解决方案不仅在商品硬件节点和开源工具方面更便宜,而且还可以通过将数据转换卸载到Hadoop工具(如Spark和Impala)来补足数据仓库解决方案,从而更高效地并行处理大数据。这也将释放数据仓库资源。
2、探索新的渠道和线索:Hadoop可以为数据科学家提供探索性的沙盒,以从社交媒体,日志文件,电子邮件等地方发现潜在的有价值的数据,这些数据通常在数据仓库中不可得。
3、更好的灵活性:通常业务需求的改变,也需要对架构和报告进行更改。基于Hadoop的解决方案不仅可以灵活地处理不断发展的模式,还可以处理来自不同来源,如社交媒体,应用程序日志文件,image,PDF和文档文件的半结构化和非结构化数据。
三、请列出你所知道的hadoop调度器,并简要说明其工作方法
比较流行的三种调度器有:默认调度器FIFO,计算能力调度器Capacity Scheduler,公平调度器Fair Scheduler
1、默认调度器FIFO:hadoop中默认的调度器,采用先进先出的原则。
2、计算能力调度器Capacity Scheduler:选择占用资源小,优先级高的先执行。
3、公平调度器Fair Scheduler:同一队列中的作业公平共享队列中所有资源。
四、简单描述如何安装配置一个apache开源版hadoop,只描述即可,无需列出完整步骤,能列出步骤更好。
1、安装JDK并配置环境变量(/etc/profile);
2、关闭防火墙;
3、配置hosts文件,方便hadoop通过主机名访问(/etc/hosts);
4、设置ssh免密码登录;
5、解压缩hadoop安装包,并配置环境变量;
6、修改配置文件($HADOOP_HOME/conf);hadoop-env.sh core-site.xml hdfs-site.xml mapred-site.xml;
7、格式化hdfs文件系统(hadoop namenode-format);
8、启动hadoop($HADOOP_HOME/bin/start-all.sh);
9、使用jps查看进程。
五、请列出正常工作的hadoop集群中hadoop都分别需要启动那些进程,他们的作用分别是什么,尽可能写的全面些。
1、NameNode: HDFS的守护进程,负责记录文件是如何分割成数据块,以及这些数据块分别被存储到那些数据节点上,它的主要功能是对内存及IO进行集中管理。
2、Secondary NameNode:辅助后台程序,与NameNode进行通信,以便定期保存HDFS元数据的快照。
3、DataNode:负责把HDFS数据块读写到本地的文件系统。
4、JobTracker:负责分配task,并监控所有运行的task。
5、TaskTracker:负责执行具体的task,并与JobTracker进行交互。
【Hadoop面试试题】相关文章:
mba面试题目09-27
最新招聘社区工作者面试题及答案09-08
幼儿教师结构化面试试题及答案09-04
面试自我评价05-25
面试自我评价09-13
面试自我评价07-10
银行面试经验07-16
酒店英语面试 酒店类面试英文自我介绍06-19
面试自我介绍[精选]09-20
自我介绍面试11-20