2023年Hadoop面试题.pdf
《2023年Hadoop面试题.pdf》由会员分享,可在线阅读,更多相关《2023年Hadoop面试题.pdf(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1.Hadoop集群可以运营的3 个模式?单 机(本地)模式伪分布式模式全分布式模式2.单 机(本地)模式中的注意点?在单机模式(standalone)中不会存在守护进程,所有东西都运营在一个JVM上。这里同样没有D F S,使用的是本地文献系统。单机模式合用于开发过程中运营MapReduce程序,这也是最少使用的一个模式。3.伪分布模式中的注意点?伪分布式(Pseud。)合用于开发和测试环境,在这个模式中,所有守护进程都在同一台机器上运营。4.VM是否可以称为Pseudo?不是,两个事物,同时Pseudo只针对Hadoop。5.全分布模式又有什么注意点?全分布模式通常被用于生产环境,这里我们
2、使用N 台主机组成一个Hadoop集群,Hadoop守护进程运营在每台主机之上。这里会存在Namenode运营的主机,Datanode运营的主机,以及task tracker运营的主机。在分布式环境下,主节点和从节点会分开。6.Hadoop是否遵循UNIX模式?是 的,在 UNIX用例下,Hadoop还拥有conf目录。7.Hadoop安装在什么目录下?Cloudera和 Apache使用相同的目录结构,Hadoop被安装在cd/usr/lib/hadoop-0.20/o8.Namenode、Job tracker 和 task tracker 的端标语是?Namenode,70:Job tr
3、acker,30;Task tracker,60。9.Hadoop的核心配置是什么?Hadoop的核心配置通过两个xm l文献来完毕:1,hadoop-default.xml;2,hadoop-site.xmlo这些文献都使用xml格式,因此每个xm l中都有一些属性,涉及名称和值,但是当下这些文献都已不复存在。10.那当下又该如何配置?Hadoop 现在拥有 3 个配置文献:1,core-site.xml;2,hdfs-site.xml;3,mapred-site.xmlo这些文献都保存在conf/子目录下。11.RAM的溢出因子是?溢出因子(Spillfactor)是临时文献中储存文献的大
4、小,也就是Hadoop-temp目录。12.fs.mapr.working.dir 只是单一的目录?fs.mapr.working.dir 只是一个 目录。13.hdfs-site.xml的 3 个重要属性?dfs.name.dir决定的是元数据存储的途径以及DFS的存储方式(磁盘或是远端)dfs.data.dir决定的是数据存储的途径fs.checkpoint.dir 用于第二 Namenode14.如何退出输入模式?退出输入的方式有:1,按 ESC;2,键入:q(假如你没有输入任何当下)或者键入:wq(假如你已经输入当下),并且按下Enter。15.当你输入 hadoopfsck/导致co
5、nnection refused java exception”时,系统究竟发生了什么?这意味着Namenode没有运营在你的VM之上。16.我们使用Ubuntu及 Cloudera,那么我们该去哪里下载Hadoop,或者是默认就与Ubuntu 一起安装?这个属于Hadoop的默认配置,你必须从Cloudera或者Edureka的 dropbox下载,然后在你的系统上运营。当然,你也可以自己配置,但是你需要一个Linux box,Ubuntu或者是Red Hat。在 Cloudera网站或者是Edureka的 Dropbox中有安装环节。17.“jps”命令的用处?这个命令可以检查 Namen
6、ode、Datanode、Task T rackerJob Tracker 是否正常工作。18.如何重启Namenode?点击 stop-all.sh,再点击 start-all.sh键入sudohdfs(Enter),su-hdfs(Enter),/etc/init.d/ha(E nte r),及/etc/init.d/hadoop-0.20-namenode start(E nter)。19.Fsck的全名?全名是:File System Check。20.如何检查Namenode是否正常运营?假如要检查Namenode是否正常工作,使用命令/etc万 rdt.d/hadoop-0.20-
7、namenodestatus或者就是简朴的jps。21.mapred.job.tracker 命令的作用?可以让你知道哪个节点是Job Tracker22./etc/in计.d命令的作用是?/etc/in汇 d 说明了守护进程(服务)的位置或状态,其实是UNUX特性,和 Hadoop关系不大。23.如何在浏览器中查找Namenode?假如你的确需要在浏览器中查找Namenode,你不再需要localhost:8021,Namenode的端标语是50070。24.如何从SU转到Cloudera?从 SU转到Cloudera只需要键入exit。25.启动和关闭命令会用到哪些文献?Slaves 及
8、Masterso26.Slaves由什么组成?Slaves由主机的列表组成,每 台 1 行,用于说明数据节点。27.Masters由什么组成?Masters同样是主机的列表组成,每台一行,用于说明第二Namenode服务器。28.hadoop-env.sh是用于做什么的?hadoop-env.sh 提供了 Hadoop 中.JAVA_HOME 的运营环境。29.Master文献是否提供了多个入口?是的你可以拥有多个Master文献接口。30.Hadoop-env.sh文献当下的位置?hadoop-env.sh 现在位于 conf,31.在 Hadoop_PID_DIR 中,PID 代表了什么?
9、PID 代表了“Process ID”。32./var/hadoop/pids 用于做什么?/var/hadoop/pids 用来存储 PID。33.hadoop-metrics.properties 文献的作用是?hadoop-metrics.properties 被用做Reporting,控制 Hadoop 报告,初始状态是notto reportno34.Hadoop需求什么样的网络?Hadoop核心使用Shell(S S H)来驱动从节点上的服务器进程,并在主节点和从节点之间使用password-less SSH连接。3 5.全分布式环境下为什么需求password-less SSH?
10、这重要由于集群中通信过于频繁,Job Tracker需要尽也许快的给Task Tracker发布任务。3 6.这会导致安全问题吗?完全不用紧张。Hadoop集群是完全隔离的,通常情况下无法从互联网进行操作。与众不同的配置,因此我们完全不需要在意这种级别的安全漏洞,比如说通过互联网侵入等等。Hadoop为机器之间的连接提供了一个相对安全的方式。37.SSH工作的端标语是?SSH工作的端标语是N O.22,当然可以通过它来配置,22是默认的端标语。38.SSH中的注意点还涉及?SSH只是个安全的shell通信,可以把它当做NO.22上的一种协议,只需要配置一个密码就可以安全的访问。39.为什么SS
11、H本地主机需要密码?在 SSH中使用密码重要是增长安全性,在某些情况下也主线不会设立密码通信。40.假如在SSH中添加k e y,是否还需要设立密码?是的,即使在SSH中添加了 k e y,还是需要设立密码。41.假 如 Namenode中没有数据会怎么样?没有数据的Namenode就不能称之为Namenode,通常情况下,Namenode肯定会有数据。42.当Job Tracker宕掉时,Namenode会发生什么?当 Job Tracker失败时,集群仍然可以正常工作,只要Namenode没问题。43.是客户端还是Namenode决定输入的分片?这并不是客户端决定的,在配置文献中以及决定分
12、片细则。4 4,是否可以自行搭建Hadoop集群?是的,只要对Hadoop环境足够熟悉,你完全可以这么做。4 5.是否可以在Windows上运营Hadoop?你最佳不要这么做,Red Hat Linux或者是Ubuntu才是Hadoop的最佳操作系统。在 Hadoop安装中,Windows通常不会被使用,由于会出现各种各样的问题。因此,Windows绝对不是Hadoop的推荐系统。Hadoop就业面试宝典1.0 简要描述如何安装配置apache的一个开源hadoop,只描述即可,无需列出具体环节,列出具体环节更好。答:1 使用root账 户 登 录 2 修 改 IP 3 修改host主 机 名
13、 4 配置SSH免密码登录5 关闭防火墙6安装JDK 7 解 压 hadoop安 装 包 8 配 置 hadoop的核心文献 hadoop-env.sh,core-site.xml z mapred-site.xml,hdfs-site.xml 9 酉 己 置 hadoop 环境变量10 格式化 hadoop namenode-format 11 启动节点 start-all.sh2.0 请;列出正常的hadoop集群中hadoop都分别需要启动哪些进程,他们的作用分别都是什么,请尽量列的具体一些。答:namenode:管理集群,存储数据的原信息,并管理记 录 datanode中的文献信息。S
14、econdname:可以做冷备,对一定范围内数据做快照性备份。Datanode:存 储 数 据 Jobtracker:管理任务,并将任务分派给tasktracker。Tasktracker:执行:JobTracker分派的任务。3.0请写出以下的shell命令(1)杀死一个job(2)删 除 hdfs上 的/tmp/aaa目 录(3)加入一个新的存储节点和删除一个节点需要执行的命令答:(1)hadoop job-list 得到job的 id,然后执 行 hadoop job-kill jobld就可以杀死一个指定jobld的job工作了。(2)hadoop fs-rmr/tmp/aaa(3)增
15、长一个新的节点在新的几点上执行 Hadoopdaemon.sh start datanode Hadooop daemon.sh start tasktracker 然后在主节点 中 执 行 hadoop dfsadmin-refreshnodes 删除一个节点的时候,只需要在主节点执行 hadoop mradmin-refreshnodes4.0 请列出你所知道的hadoop调度器,并简要说明其工作方法 答:Fifo schedular:默认,先 进 先 出 的 原 则 Capacityschedular:计算能力调度器,选择占用最小、优先级高的先执行,依此类推。Fairschedular:
16、公平调度,所 有 的 jo b 具有相同的资源。5.0 请列出你在工作中使用过的开发mapreduce的 语 言 答:java,hive6.0 当前日记采样格式为 a,b,c,d b,b,f,e aa,c,f 请你用最熟悉的语言编写mapreduce,计算第四列每个元素出现的个数Static final String答:public class WordCountl public static final String INPUT_PATH=hdfs:/hadoop0:9000/in;public static final String OUT_PATH=hdfs:/hadoop0:9000/
17、out;public static void main(String args)throws Exception Configuration conf=newConfiguration();FileSystem fileSystem=FileSystem.get(conf);if(fileSystem.exists(newPath(OUT_PATH)fileSystem.delete(new Path(OUT_PATH)ztrue);Job job=newJobfcontWordCountl.class.getSimpleNameO);/1.0 读 取 文 献,解析成 key,value 对F
18、ilelnputFormat.setlnputPaths(jobznew Path(INPUT_PATH);/2.0 写上自己的逻辑,对输入的可以,value 进行解决,转换成新的key,value 对 进 行 输 出job.setMapperClass(MyMapper.class);job.setMapOutputKeyClass(Text.class);job.setMapOutputValueClass(LongWritable.class);/3.0 对输出后的数据进行分区,A.0 对分区后的数据进行排序,分组,相 同 key的 value放到一个集合中/万.0 对分组后的数据进行规
19、约/H 0 对通过网络将m ap输出的数据拷贝到reduce节点/7.0写上自己的reduce 函数逻辑,对 map 输出的数据进行解决 job.setReducerClass(MyReducer.class);job.setOutputKeyClass(Text.class);job.setOutputValueClass(LongWritable.class);FileOutputFormat.setOutputPath(job,new Path(OUT_PATH);job.waitForCompletion(true);static class MyMapper extends Mapp
20、er(Overrideprotected void map(LongWritable kl,Text vl,org.apache.hadoop.mapreduce.Mapper.Context context)throws lOException,InterruptedException String split=vl.toString().split(t);for(String words:split)context.write(split3,1);static class MyReducer extends Reducer protected void reduce(Text k2,lte
21、rable v2,org.apache.hadoop.mapreduce.Reducer.Context context)throws lOException,InterruptedException Long count=OL;for(LongWritable time:v2)count+=time.get();context.write(v2/new LongWritable(count);7.0 你认为用java,streaming,pipe方式开发map/reduce,各有哪些优点就用过java和 hiveQLo Ja va写 m叩reduce可以实现复杂的逻辑,假如需求简朴,则显得繁
22、琐。HiveQL基本都是针对hive中的表数据进行编写,但对复杂的逻辑很难进行实现。写起来简朴。8.0 hive有哪些方式保存元数据,各有哪些优点 三种:内存数据库derby,挺小,不常 用。本 地 mysql。常用 远 程 端 mysqLo不常用 上网上找了下专业名称:single usermode.multi user mode.remote user mode9.0 请简述hadoop如何实现二级排序 第一种方法是,Reducer将给定key的所有值都缓存起来,然后对它们再做一个Reducer 内排序。但是,由于Reducer需要保存给定key的所有值,也许会导致出现内存耗尽的错误。第二
23、种方法是,将值的一部分或整个值加入原始key,生成一个合成key。这两种方法各有优势,第一种方法也许会更快一些(但有内存耗尽的危险),第二种方法则是将排序的任务交给MapReduce框架,更符合Hadoop/Reduce的设计思想。这篇文章里选择的是第二种。我们将编写一个Partitioner,保证拥有相同key(原始key,不涉及添加的部分)的所有数据被发往同一个Reducer,还将编写一个Comparator,以便数据到达Reducer后即按原始key分组。10.简述hadoop实现jion的几种方法运用dataJoin来实现mapreduce的 jion问题。11.0 请用 java 实
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 Hadoop 试题
限制150内