千锋教育-做有情怀、有良心、有品质的IT职业教育机构

当前位置:首页 > 行业动态  >  正文

杭州培训班学习大数据,这些面试题要了解

时间:2018-02-28 15:00:02     来源:千锋教育杭州校区 作者:千锋

   千锋杭州大数据培训老师将知道的大数据面试题分享出来,让每一位小伙伴都能如愿以偿。这次是问答题,需要的赶紧收藏吧,不需要的也很有必要收藏,万一哪天能用到呢!

大数据 (3).jpg

  1、Hadoop中需要哪些配置文件,其作用是什么?

  1>.Core-site.xml:

  (1)fs.defaultFS:hdfs://cluster1(域名),这里的值指的是默认的HDFS路径 。

  (2)hadoop.tmp.dir:/export/data/hadoop_tmp,这里的路径默认是NameNode、DataNode、JournalNode等存放数据的公共目录。用户也可以自己单独指定这三类节点的目录。

  (3)ha.zookeeper.quorum:hadoop101:2181,hadoop102:2181,hadoop103:2181,这里是ZooKeeper集群的地址和端口。注意,数量一定是奇数,且不少于三个节点 。

  2>.Hadoop-env.sh: 只需设置jdk的安装路径,如:export JAVA_HOME=/usr/local/jdk 本机j位置

  3>.Hdfs-site.xml:

  (1) dfs.replication:他决定着系统里面的文件块的数据备份个数,默认为3个。

  (2) dfs.data.dir:datanode节点存储在文件系统的目录 。

  (3) dfs.name.dir:是namenode节点存储hadoop文件系统信息的本地系统路径 。

  4>.Mapred-site.xml:

  (1)mapred.job.tracker:是jobtracker的主机和端口配置 。

  2、请列出正常工作的Hadoop集群中Hadoop都分别需要启动哪些进程,它们的作用分别是什么?

  a) NameNode它是hadoop中的主服务器,管理文件系统名称空间和对集群中存储的文件的访问,保存有 metadate.

  b).SecondaryNameNode它不是namenode的冗余守护进程,而是提供周期检查点和清理任务。帮助NN合并editslog,减少NN启动时间。

  c)DataNode它负责管理连接到节点的存储(一个集群中可以有多个节点)。每个存

  储数据的节点运行一个datanode守护进程。

  d)ResourceManager(JobTracker)JobTracker负责调度DataNode上的工作。每个DataNode有一个TaskTracker,它们执行实际工作。

  e) NodeManager(TaskTracker)执行任务

  f) DFSZKFailoverController高可用时它负责监控NN的状态,并及时的把状态信息写入ZK。它通 过一个独立线程周期性的调用NN上的一个特定接口来获取NN的健康状态。FC也有选择谁作为Active NN的权利,因为zui 多只有两个节点,目前选择策略还比较简单(先到先得,轮换)。

  g) JournalNode 高可用情况下存放namenode的editlog文件.

  HDFS数据写入实现机制

  3、HDFS的存储机制?

  写入HDFS过程:

  Client调用DistributedFileSystem对象的create方法,创建一个文件输出流(FSDataOutputStream)对象,通 过DistributedFileSystem对象与Hadoop集群的NameNode进行一次RPC远程调用,在HDFS的Namespace中创建一个文件条目(Entry),该条目没有任何的Block,通 过FSDataOutputStream对象,向DataNode写入数据,数据首先被写入FSDataOutputStream对象内部的Buffer中,然后数据被分割成一个个Packet数据包,以Packet为zui小单位,基于Socket连接发送到按特定算法选择的HDFS集群中一组DataNode(正常是3个,可能大于等于1)中的一个节点上,在这组DataNode组成的 Pipeline上依次传输 Packet, 这组 DataNode 组成的 Pipeline反方向上,发送 ack,末了由 Pipeline 中头一个 DataNode 节点将 Pipeline ack发送给Client,完成向文件写入数据,Client 在文件输出流(FSDataOutputStream)对象上调用close方法,关闭流.调用DistributedFileSystem对象的complete 方法,通知 NameNode 文件写入成功.

  读取文件过程:

  使用HDFS提供的客户端开发库Client,向远程的Namenode发起RPC请求;Namenode会视情况返回文件的部分或全部block列表,对于每个block,Namenode都会返回有该block拷贝的DataNode地址;客户端开发库Client会选取离客户端极接近的DataNode来读取block;如果客户端本身就是DataNode,那么将从本地直接获取数据.读取完当前block的数据后,关闭与当前的DataNode连接,并为读取下一个block寻找绝佳的DataNode;当读完列表的block后,且文件读取还没有结束,客户端开发库会继续向Namenode获取下一批的block列表。读取完一个block都会进行 checksum 验证,如果读取 datanode 时出现错误,客户端会通知 Namenode,然后再从下一个拥有该 block 拷贝的 datanode 继续读。

  4、HDFS的存储机制是什么

  客户端通 过把请求发送给NameNode active,NN会把文件切成1个到N个固定大小的block(一般默认为128M)并上传到DN中。当所有block拷贝结束时,NN会立即通知客户端上传结果。但此时上传的流程还未结束。DN还需要根据配置信息的副本数量,在不同的机架节点上通 过局域网作数据拷贝工作。

  5、Hadoop 是由哪几个组件组成

  hadoop 是一套处理大数据的生态系统,包括文件存储HDFS ,计算框架MapReduce调度框架Yarn,数据库Hbase ,数据仓库Hive,协调与锁服务zookeeper,关系型数 据库与Hbase转换工具sqoop,工作流模块Oozie,机器学习模块mahout.

  千锋杭州大数据培训班定期组织与一线企业的工程师,进行面对面的就企业当下的项目讨论与研发,进而验证所学技术的正确方向。利用课余时间,定期邀请其他领域的技术,与学生互动,其讲解内容除了本专业以内知识内容,还有以外的知识扩展,其目的是进一步拓展学生的视野,为未来在工作中的技术选型、岗位调配、服务与大数据分析等,打下良好的基础。

  千锋大数据面试题经众多学生验证,很靠谱!

相关文章

  • 北京天丰利校区(总部):北京市海淀区宝盛北里西区28号天丰利商城4层
    北京沙河校区:北京市昌平区沙阳路18号北京科技职业技术广场服务楼2层、南区服务楼2层
    咨询电话:400-654-7778 010-82790226-801
    面授课程:Android培训、HTML5培训、UI交互设计培训、PHP培训、JavaEE培训、大数据开发培
                     训、VR/AR混合现实培训、Python培训、iOS培训、好程序员
  • 深圳西部硅谷校区:深圳市宝安区宝安大道5010号深圳西部硅谷A区B座605-619
    深圳大学城校区:深圳市南山区留仙大道1201号大学城创客小镇16栋2楼、3楼
    咨询电话:0755-33582485-801(硅谷校区) 0755-86660670-801(大学城校区)
    面授课程:Android培训、HTML5培训、UI交互设计培训、PHP培训、JavaEE培训、大数据开发培
                     训、VR/AR混合现实培训
  • 上海地址:上海市宝山区同济支路199号智慧七立方3号楼2-4层
    咨询电话:400-627-7899 021-56166283/56166279
    面授课程:PHP培训、Android课程培训、HTML5课程培训、UI交互设计培训、JavaEE培训、iOS课
                     程培训、好程序员
  • 郑州地址:郑州市金水区纬五路21号河南教育综合楼(经纬中学楼)6/7/8层
    咨询电话:0371-55191750 400-654-7778
    面授课程:Android课程培训、HTML5课程培训、UI交互设计培训、JavaEE培训、iOS课程培训
  • 广州地址:广州市天河区元岗路310号智汇park创意园E座5层
    咨询电话:020-22119207 400-654-7778
    面授课程:Android课程培训、HTML5课程培训、iOS课程培训、JavaEE培训
  • 大连地址:大连市甘井子区软件园路6号B5座101室
    咨询电话:0411-39026086 400-654-7778
    面授课程:Android课程培训、HTML5课程培训、JavaEE培训、iOS课程培训
  • 武汉地址:武汉市江夏区藏龙岛杨桥湖大道15号拓创大厦15楼
    咨询电话:027-81772047
    面授课程:Android课程培训、HTML5课程培训、JavaEE培训、iOS课程培训
  • 成都旅游校区:成都市一环路西二段17号四川旅游青羊校区内
    成都华立校区:成都一环路西二段17号华立大厦3楼
    咨询电话:028-83178771 028-61967740
    面授课程:Android课程培训、HTML5课程培训、UI交互设计培训、JavaEE培训、iOS课程培训
  • 校区地址:西安市雁塔区高新六路52号立人科技C座西区4楼
    咨询电话:029-85260160 029-85261030 029-85260960
    面授课程:Android课程培训、HTML5课程培训、JavaEE培训
  • 杭州地址:浙江省杭州市江干区九堡旺田书画城A座4层
    咨询电话:0571-86893632 010-82790226-801
    面授课程:Android课程培训、HTML5课程培训、JavaEE培训、iOS课程培训
  • 青岛校区地址:青岛市市南区金坛路17号青岛职业技术南校区实训楼A4层
    咨询电话:0532-80910752/3 010-82790226-801
    面授课程:Android课程培训、HTML5课程培训、UI交互设计培训、iOS课程培训
  • 千锋动态二维码

    了解千锋动态
    关注千锋教育服务号

  • 千锋互联二维码

    扫码关注千锋互联
    身边的移动开发导师