Hadoop相关简答题合集

第一题:简述常见的Linux目录及其作用
答案:
1、/etc:所有的系统管理所需要的配置文件和子目录。
2、/home:存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
3、/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
/net ?存放着和网络相关的一些文件.
4、/opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
5、/root:该目录为系统管理员,也称作超级权限者的用户主目录。
6、/tmp:这个目录是用来存放一些临时文件的。
7、/usr: 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
8、/var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

第二题:简述vi编辑器的使用方法
答案:
1、通过vi某个文本,进入一般模式,可以进行如下操作
1)yy (功能描述:复制光标当前一行)
y数字y (功能描述:复制一段(从第几行到第几行,光标闪烁出认为第一行,y2y,即复制光标所在行以及光标下一行))
2)p (功能描述:箭头移动到目的行粘贴粘在光标所在行的下一行)
3)u (功能描述:撤销上一步) undo
4)dd (功能描述:删除光标当前行)
d数字d (功能描述:删除光标(含)后多少行)
5)shift+^ (功能描述:移动到行头)
6)shift+$ (功能描述:移动到行尾)
7)1+shift+g (功能描述:移动到页头,数字,先按1,再同时按shift+g,注意不是同时按1+shift+g)
8)shift+g (功能描述:移动到页尾)
9)数字N+shift+g (功能描述:移动到目标行)
2、通过i或者o进入编辑模式
在一般模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的! 要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式。退出编辑模式,即进入一般模式
按『Esc』键
3、通过:?/进入指令模式
:wq! 强制保存退出
:q! 不保存文件,强制退出vi
按下esc键退回到一般模式,然后按下Shift+z+z实现快速保存(只能够保存非只读文件,对于只读文件,还是需要wq!来保存)。

第三题:列举Linux常用的文件目录类命令
答案:
1、pwd 显示当前工作目录的绝对路径
2、ls 列出目录的内容
3、mkdir 创建一个新的目录
4、rmdir 删除一个空的目录
5、touch 创建空文件
6、cd 切换目录
7、cp 复制文件或目录
8、rm 移除文件或目录
9、mv 移动文件与目录或重命名
10、cat 查看文件内容
11、more 查看文件内容
12、tail 查看文件内容

第四题:简述Linux中日期时间类命令及其用法
答案:
date -s 设置时间
date -d 显示非当前时间
date 显示当前时间
cal 查看日历

第五题:设置hadoop普通用户具有root权限
答案:
修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,
如下所示: ## Allow root to run any commands anywhere
root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL

第六题:列举Linux常见的压缩解压缩命令及其用法
答案:
1、gzip/gunzip 压缩解压缩
2、zip/unzip 压缩解压缩
3、tar -zxvf 解压缩 tar -zcvf 压缩文件

第七题:简述hadoop的组成及其功能
答案:
1)Hadoop HDFS:(hadoop distribute file system )一个高可靠、高吞吐量的分布式文件系统。
2)Hadoop MapReduce:一个分布式的离线并行计算框架。
3)Hadoop YARN:作业调度与集群资源管理的框架。
4)Hadoop Common:支持其他模块的工具模块(Configuration、RPC、序列化机制、日志操作)。

第八题:简述hadoop的优势
答案:
1)高可靠性:因为Hadoop假设计算元素和存储会出现故障,因为它维护多个工作数据副本,在出现故障时可以对失败的节点重新分布处理。
2)高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。
3)高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。
4)高容错性:自动保存多份副本数据,并且能够自动将失败的任务重新分配。

第九题:简述大数据的4个特点
答案:
1、大量化
2、高速
3、多样
4、低价值密度

第十题:简述大数据的概念以及要解决的问题
答案:
大数据(big data):指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
主要解决,海量数据的存储和海量数据的分析计算问题。

第十一题:mapreduce的缺点是:
答案:
MapReduce不擅长做实时计算、流式计算、DAG(有向图)计算。

第十二题:mapreduce的maptask的数量由什么决定
答案:
切片的数量决定maptask的数量

第十三题:hive的优点是
答案:
1、操作接口采用类SQL语法,提供快速开发的能力(简单、容易上手)。
2、避免了去写MapReduce,减少开发人员的学习成本。
3、Hive的执行延迟比较高,因此Hive常用于数据分析,对实时性要求不高的场合。
4、Hive优势在于处理大数据,对于处理小数据没有优势,因为Hive的执行延迟比较高。
5、Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。

第十四题:简述mapreduce的编程规范
答案:
1、Mapper阶段
(1)用户自定义的Mapper要继承自己的父类
(2)Mapper的输入数据是KV对的形式
(3)Mapper中的业务逻辑写在map()方法中
(4)Mapper的输出数据是KV对的形式
(5)map()方法对每一个调用一次
2、Reducer阶段
(1)用户自定义的Reducer要继承自己的父类
(2)Reducer的输入数据类型对应Mapper的输出数据类型,也就是KV
(3)Reducer的业务逻辑写在reduce()方法中
(4)Reducetask进程对每一组相同k的组调用一次reduce()方法
3、Driver阶段
相当于yarn集群的客户端,用于提交我们整个程序到yarn集群,提交的是封装了mapreduce程序相关运行参数的job对象

第十五题:自定义bean对象要想用于hadoop框架进行序列化传输,该类必须具备哪些条件
答案:
1、必须实现Writable接口
2、反序列化时,需要反射调用空参构造函数,所以必须有空参构造
3、重写序列化方法
4、重写反序列化方法
5、注意反序列化的顺序和序列化的顺序完全一致
6、要想把结果显示在文件中,需要重写toString(),可用“\t”分开,方便后续用

第十六题:简述如何实现mapreduce的自定义分区
答案:
1、自己定义一个类继承Partitioner,并重写getPartition方法
2、在driver中设置使用自己定义的分区类

第十七题:简述yarn常见的资源调度器
答案:
1、先进先出调度器
2、容量调度器
3、公平调度器

第十八题:简述hive内部表和外部表的区别
答案:
1、Hive创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变。
2、在删除表的时候,内部表的元数据和数据会被一起删除,而外部表只删除元数据,不删除数据。

第十九题:自定义的mapper类中的map方法什么时候调用一次?自定义的reduce中的reduce方法什么时候调用一次?
答案:
Mapper阶段,map()方法对每一个调用一次
Reducer阶段,Reducetask进程对每一组相同k的组调用一次reduce()方法

第二十题:简述hive的企业级调优方式
答案:
1、开启Fetch抓取
2、开启本地模式
3、表优化
4、解决数据倾斜
5、合理使用严格模式

第二十一题:zookeeper的应用场景
答案:
zookeeper提供的服务包括:服务器节点动态上下线、统一配置管理、负载均衡、集群管理等

第二十二题:HMaster的功能
答案:
hmaster的功能
1.监控RegionServer
2.处理RegionServer故障转移
3.处理元数据的变更
4.处理region的分配或转移
5.在空闲时间进行数据的负载均衡
6.通过Zookeeper发布元数据的位置给客户端

第二十三题:简述对zookeeper的理解
答案:
Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。
Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应,从而实现集群中类似Master/Slave管理模式。
Zookeeper=文件系统(可以在zk上存储数据)+通知机制

第二十四题:简述zookeeper的znode的四种节点类型
答案:
1、持久化目录节点
2、持久化顺序编号目录节点
3、临时目录节点
4、临时顺序编号目录节点

第二十五题:简述zookeeper中监听器的原理
答案:
1、首先要有一个main()原理
2、在main线程中创建Zookeeper客户端,这时就会创建两个线程,一个负责网络连接通信,一个负责监听
3、通过connect线程将注册的监听事件发送给Zookeeper
4、在Zookeeper的注册监听器列表中将注册的监听事件添加到列表中
5、Zookeeper监听到有数据或路径变化,就会将这个消息发送给listener教程
6、listener线程内部调用了process()方法.

第二十六题:简述hbase的特点
答案:
1、海量存储
2、列式存储
3、极易扩展
4、高并发
5、稀疏

第二十七题:简述hbase中zookeeper的3个作用
答案:
1、通过Zoopkeeper来保证集群中只有1个master在运行,如果master异常,会通过竞争机制产生新的master提供服务
2、通过Zoopkeeper来监控RegionServer的状态,当RegionSevrer有异常的时候,通过回调的形式通知Master RegionServer上下线的信息(就是使用zk完成的服务器上下线机制)
3、通过Zoopkeeper存储元数据的统一入口地址

第二十八题:简述hbase读取数据的流程
答案:
1、Client先访问zookeeper,从meta表读取region的位置,然后读取meta表中的数据。meta中又存储了用户表的region信息
2、根据namespace、表名和rowkey在meta表中找到对应的region信息
3、找到这个region对应的regionserver
4、查找对应的region
5、先从MemStore找数据,如果没有,再到BlockCache里面读
6、BlockCache还没有,再到StoreFile上读(为了读取的效率)
7、如果是从StoreFile里面读取的数据,不是直接返回给客户端,而是先写入BlockCache,再返回给客户端

第二十九题:为什么要设计hbase的rowkey
答案:
1、让数据均匀的分布于所有的region中,在一定程度上防止数据倾斜。
2、记住rowkey,便于以后取出相应rowkey的数据

第三十题:简述kafka是如何实现消息的广播和单播的
答案:
Consumer Group (CG),即消费者组,是kafka用来实现一个topic消息的广播(发给所有的consumer)和单播(发给任意一个consumer)的手段。一个topic可以有多个partition,也可以对应多个CG。topic的消息会复制(不是真的复制,是概念上的)到所有的CG,但每个partition只会把消息发给该CG中的一个consumer。如果需要实现广播,只要每个consumer有一个独立的CG就可以了。要实现单播只要所有的consumer在同一个CG。用CG还可以将consumer进行自由的分组而不需要多次发送消息到不同的topic

你可能感兴趣的:(知识点总结,面试题,Hadoop)