首页 > 图灵资讯 > 技术篇>正文

Java面试中的hadoop面试题及答案整理

2023-04-16 09:26:27

Hadoop是Apache基金会开发的分布式系统基础设施。用户可以开发分布式程序,充分利用集群的力量进行高速操作和存储,而不了解分布式的底层细节。Hadoop它有很多特点和应用,所以今天的文章是给你的java程序员整理了Hadoop可能涉及Java面试中的知识点Hadoop面试题做了总结。

1、什么是Hadoop?

答:Hadoop是一个开源软件框架,用于存储大量数据,并发处理/查询多个商业硬件(即低成本硬件)节点的集群上的数据。简而言之,Hadoop包括以下内容:(1HDFHadoop分布式文件系统):HDFS允许您以分布式和冗余的方式存储大量数据;(2MapReduce:一个计算框架。它以分布式和平行的方式处理大量数据;(3YARN(Yet Another Resource Nagotiator,另一个资源定位器):框架用于操作调度和集群资源管理;(4HDFS的数据用于商业智能和分析,Hadop生态系统拥有15多个框架和工具;(5某些工具(如Pig和Hive)是Mapreduce上的抽象层,而Spark和Impala等工具是Mapreduce的改进架构/设计,用于支持近实时(即NRT)和实时处理的显著改进延迟。

2、基于Hadop的数据中心有什么好处?

答:随着数据量和复杂性的增加,整体得到了改善SLA:

1)缩放数据仓库可能非常昂贵:基于Hadop的解决方案不仅在商品硬件节点和开源工具方面更便宜,而且可以通过将数据转换卸载到Hadop工具(如Spark和Impala)来补充数据仓库解决方案,从而更有效地平行处理大数据。这也将被释放数据仓库资源。

2)探索新的渠道和线索:Hadoop可以为数据科学家提供探索性的沙盒,从社交媒体、日志文件、电子邮件等地方找到潜在的有价值的数据,这在数据仓库中通常是不可用的;

3)更好的灵活性:通常,业务需求的变化也需要改变结构和报告。基于Hadoop的解决方案不仅可以灵活地处理不断发展的模式,还可以从不同的来源处理。

3、简单描述如何安装apache开源版hadop?  

答:安装JDK配置环境变量(/etc/profile);关闭防火墙;配置hosts文件,方便hadop通过主机名访问(//etc/hosts);设置ssh免密码登录;解压hadop安装包,并配置环境变量;修改配置文件($HADOOP_HOME/conf);hadoop-env.sh core-site.xml hdfs-site.xml mapred-site.xml;hdfs文件系统格式化(hadoop namenode -format);启动hadoop($HADOOP_HOME/bin/start-all.sh);用jps查看过程。

4、列出你所知道的hadoop调度器,并简要说明它的工作方法

答:三种流行的调度器有:默认调度器FIFO,计算能力调度器Capacity Scheduler,Fair公平调度器 Scheduler。

1.FIFOO默认调度器:hadoop中的默认调度器采用先进先出的原则。

2)计算能力调度器Capacity Scheduler:首先选择占用资源少、优先级高的资源。

3)公平调度器Fairrr Scheduler:公平共享同一队列中的所有资源。

5、如何解决启动hadop报的以下错误?

答:(1)errororg.apache.hadoop.hdfs.server.namenode.NameNode,

找不到主要类别,应该配置文件hadoop安装位置配置错误,hadoop-env.检查和修改sh文件;

2).org.apache.hadoop.hdfs.server.common.inconsistentFSStateException,这是存储目录不存在,或删除,格式化namenode,或重新格式化tmp.dir自己设置

3)Directory /tmp/hadoop-root/dfs/name is in an inconsistent,这和上面一样,重新设置core-site.xml中hadoop.tmp.dir值格式化namenode,

4)state storage direction does not exist or is not accessible?以前是默认的tmp目录,每次重启都会清除数据,所以找不到整个文件系统的信息,重新设置core-site.xml中hadoop.tmp.dir值格式化namenode。

6、hadoop如何实现二级排序?

答:在Mapreduce本身就会对我们的key进行排序,所以我们需要对value进行排序,主要的想法是将key和部分value拼接成组合key(实现writablecomparable接口或调用value setsortcomparatorclass函数),这样reduce获得的结果就是先按key排序,在这种方法中,用户需要根据value进行排序 实现自己的Paritioner,继承Partitioner<>,以便只按key划分数据。在Configuration类中,Hadop显式支持二次排序 setGroupingComparatorClass()方法可用于设置排序group的key值。

上面六个问题是今天与大家分享的Hadoop面试题,虽然这类问题不如Linux,MySQLSpringMVC调查的常见方面很多,但面试的时候还是不能忽视的。如果你想学得更深入,你可以理解它Hadoop从入门到精通因为这门课学得好,Hadoop,了解大数据的基本知识,深入了解HDFS、在java面试中,Mapreduce和Yarn的工作原理更加轻松,得到了自己想要的offer。

上一篇 JDK自带的Derby提取数据库表过程
下一篇 关于Mysql常见的面试题及答案

文章素材均来源于网络,如有侵权,请联系管理员删除。