联大学堂《Hadoop应用基础(焦作师范高等专科学校)》题库及答案


联大学堂《Hadoop应用基础(焦作师范高等专科学校)》题库及答案

1、有可能使Hadoop任务输出到多个目录中么?如果可以,怎么做?

正确答案:1)可以输出到多个目录中,采用自定义OutputFormat。2)实现步骤:(1)自定义outputformat,(2)改写recordwriter,具体改写输出数据的方法write()

2、简要描述如何安装配置apache的一个开源Hadoop,只描述即可,无需列出具体步骤,列出具体步骤更好?

正确答案:(1)使用root账户登录(2)修改IP(3)修改host主机名(4)配置SSH免密码登录(5)关闭防火墙(6)安装JDK(7)解压hadoop安装包(8)配置hadoop的核心文件hadoop-env.sh,core-site.xml,mapred-site.xml,hdfs-site.xml(9)配置hadoop环境变量(10)格式化hadoopnamenode-format(11)启动节点start-all.sh

3、什么样的计算不能用mr来提速,举5个例子。

正确答案:1)数据量很小。2)繁杂的小文件。3)索引是更好的存取机制的时候。4)事务处理。5)只有一台机器的时候。

4、如果没有定义partitioner,那数据在被送达reducer前是如何被分区的?

正确答案:如果没有自定义的partitioning,则默认的partition算法,即根据每一条数据的key的hashcode值摸运算(%)reduce的数量,得到的数字就是“分区号“。

5、如何决定一个job的map和reduce的数量?

正确答案:1)map数量splitSize=max{minSize,min{maxSize,blockSize}}map数量由处理的数据分成的block数量决定default()num=total()size/split()size;2)reduce数量reduce的数量job.setNumReduceTasks(x);x为reduce的数量。不设置的话默认为1。

6、列举几个hadoop生态圈的组件并做简要描述?

正确答案:(1)Zookeeper:是一个开源的分布式应用程序协调服务,基于zookeeper可以实现同步服务,配置维护,命名服务。(2)Flume:一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。(3)Hbase:是一个分布式的、面向列的开源数据库,利用HadoopHDFS作为其存储系统。(4)Hive:基于Hadoop的一个数据仓库工具,可以将结构化的数据档映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。(5)Sqoop:将一个关系型数据库中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

7、HAnamenode是如何工作的?

正确答案:ZKFailoverController主要职责1)健康监测:周期性的向它监控的NN发送健康探测命令,从而来确定某个NameNode是否处于健康状态,如果机器宕机,心跳失败,那么zkfc就会标记它处于一个不健康的状态。2)会话管理:如果NN是健康的,zkfc就会在zookeeper中保持一个打开的会话,如果NameNode同时还是Active状态的,那么zkfc还会在Zookeeper中占有一个类型为短暂类型的znode,当这个NN挂掉时,这个znode将会被删除,然后备用的NN,将会得到这把锁,升级为主NN,同时标记状态为Active。3)当宕机的NN新启动时,它会再次注册zookeper,发现已经有znode锁了,便会自动变为Standby状态,如此往复循环,保证高可靠,需要注意,目前仅仅支持最多配置2个NN。4)master选举:如上所述,通过在zookeeper中维持一个短暂类型的znode,来实现抢占式的锁机制,从而判断那个NameNode为Active状态


Tag:Hadoop应用基础 时间:2024-02-17 15:08:19