Hadoop-面试选择题

Attention Please--文章来自互联网资料整理,如有雷同,纯属李小李抄袭,如有侵权请联系删除 From 李小李
面试题源自互联网收集整理,如有侵权请联系删除,谢谢---李小李

  1. 在Hadoop中定义的主要公用InputFormat中,默认是哪一个?(A)
    A、 TextInputFormat
    B、 KeyValueInputFormat
    C、 SequenceFileInputFormat

  2. 下面哪个程序负责 HDFS 数据存储?(C)
    A.NameNode
    B.JobTracker
    C.DataNode
    D.SecondaryNameNode
    E.tasktracker

  3. HDFS 中的 block 默认保存几份?(A)
    A.3 份
    B.2 份
    C.1 份
    D.不确定

  4. 下列哪个程序通常与 NameNode 在一个节点启动?(D)
    A.SecondaryNameNode
    B.DataNode
    C.TaskTracker
    D.JobTracker (NodeManager)

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

  6. HDFS 2.X默认 BlockSize 大小是:(C)
    A.32MB
    B.64MB
    C.128MB

  7. 下列哪项通常是集群的最主要瓶颈(C)
    A.CPU
    B.网络
    C.磁盘 IO
    D.内存

分析:首先集群的目的是为了节省成本,用廉价的 pc 机,取代小型机及大型机。小型机和大型机有什么特点?

1.cpu 处理能力强
2.内存够大,所以集群的瓶颈不可能是 a 和 d
3.如果是互联网有瓶颈,可以让集群搭建内网。每次写入数据都要通过网络(集群是内网),然后还要写入 3 份数据,所以 IO 就会打折扣。

  1. 下列哪项可以作为集群的管理?(ABC)
    A.Puppet
    B.Pdsh
    C.ClouderaManager
    D.Zookeeper
  2. Client 端上传文件的时候下列哪项正确?(BC)
    A.数据经过 NameNode 传递 DataNode
    B.Client 端将文件切分为 Block,依次上传
    C.Client 只上传数据到一台 DataNode,然后由 NameNode 负责 Block 复制工作
  3. 下列哪个是 Hadoop 运行的模式?(ABC)
    A.单机版
    B.伪分布式
    C.分布式
  4. 配置机架感知的下面哪项正确 答案 (ABC)
    a)如果一个机架出问题,不会影响数据读写
    b)写入数据的时候会写到不同机架的 DataNode 中
    c)MapReduce 会根据机架获取离自己比较近的网络数据
  5. 下列哪个是 Hadoop 运行的模式 答案 ABC
    a)单机版 b)伪分布式 c)分布式
  6. Cloudera 提供哪几种安装 CDH 的方法 答案 ABCD
    a)Cloudera manager b)Tar ball c)Yum d)Rpm

注:

  • hadoop的集群是基于master/slave模式,namenode和jobtracker属于master,datanode和tasktracker属于slave,master只有一个,而slave有多个.
  • SecondaryNameNode内存需求和NameNode在一个数量级上,所以通常secondary NameNode(运行在单独的物理机器上)和 NameNode 运行在不同的机器上。
  • JobTracker对应于NameNode,TaskTracker对应于DataNode.
  • DataNode和NameNode是针对数据存放来而言的.JobTracker和TaskTracker是对于MapReduce执行而言的.
  • mapreduce中几个主要概念,mapreduce 整体上可以分为这么几条执行线索:
    JobClient会在用户端通过JobClient类将已经配置参数打包成jar文件的应用存储到hdfs,并把路径提交到Jobtracker,然后由JobTracker创建每一个Task(即 MapTask 和 ReduceTask) 并将它们分发到各个TaskTracker服务中去执行。
    • JobTracker
      JobTracker是一master服务,软件启动之后JobTracker接收Job,负责调度Job的每一个子任务。task运行于TaskTracker上,并监控它们,如果发现有失败的task就重新运行它。一般情况应该把JobTracker 部署在单独的机器上。
    • TaskTracker
      TaskTracker是运行在多个节点上的slaver服务。TaskTracker主动与JobTracker通信,接收作业,并负责直接执行每一个任务。 TaskTracker 都需要运行在HDFS的DataNode上。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容