欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

大数据面试题

程序员文章站 2022-04-21 20:49:27
大数据面试题 下列哪个程序通常与 NameNode 在一个节点启动?答案D A)SecondaryNameNode B)DataNode C)TaskTracker D)Jobtra...

大数据面试题

下列哪个程序通常与 NameNode 在一个节点启动?答案D
A)SecondaryNameNode
B)DataNode
C)TaskTracker
D)Jobtracker
解析:hadoop的集群是基于master/slave模式,namenode和jobtracker属于master,datanode和tasktracker属于slave,master只有一个,而slave有多个SecondaryNameNode内存需求和NameNode在一个数量级上,所以通常secondary NameNode(运行在单独的物理机器上)和NameNode运行在不同的机器上。
JobTracker和TaskTracker:JobTracker 对应于 NameNode;TaskTracker 对应于 DataNode;
DataNode 和NameNode 是针对数据存放来而言的;JobTracker和TaskTracker是对于MapReduce执行而言的。Mapreduce中几个主要概念,mapreduce整体上可以分为这么几条执行线索:Jobclient,JobTracker与TaskTracker。

1) JobClient会在用户端通过JobClient类将应用已经配置参数打包成jar文件存储到hdfs,并把路径提交到Jobtracker,然后由JobTracker创建每一个Task(即MapTask和ReduceTask)并将它们分发到各个TaskTracker服务中去执行。 2) JobTracker是一个master服务,软件启动之后JobTracker接收Job,负责调度Job的每一个子任务task运行于TaskTracker上,并监控它们,如果发现有失败的task就重新运行它。一般情况应该把JobTracker部署在单独的机器上。 3) TaskTracker是运行在多个节点上的slaver服务。TaskTracker主动与JobTracker通信,接收作业,并负责直接执行每一个任务。TaskTracker都需要运行在HDFS的DataNode上。

磁盘通常是集群的最主要瓶颈。
解析:

1)首先集群的目的是为了节省成本,用廉价的pc机,取代小型机及大型机。小型机和大型机有什么特点?
1.cpu处理能力强 2.内存够大所以集群的瓶颈不可能是a和d 3.网络是一种稀缺资源,但是并不是瓶颈。 4.由于大数据面临海量数据,读写数据都需要io,然后还要冗余数据,hadoop一般备3份数据,所以IO就会打折扣。

关于 SecondaryNameNode 哪项是正确的?答案C
A)它是 NameNode 的热备
B)它对内存没有要求
C)它的目的是帮助 NameNode 合并编辑日志,减少 NameNode 启动时间
D)SecondaryNameNode 应与 NameNode 部署到一个节点。
解析:

1)NameNode是对HDFS中元数据的保存。 因为NameNode几乎一致保持工作状态,且只有当NameNode重启时 才能将edit logs 和fsimage合并,所以namenode很小的几率去合并这两项内容,所以需要一个Secondary NameNode去合并这两项内容,然后传递给NameNode。 2)工作原理如下:大数据面试题