1、哪个程序负责HDFS数据存储?
Datanode
2、HDFS中的block默认保存几份?
默认3份
3、哪个程序通常与NameNode在一个节点启动?
Jobtracker
4、HDFS默认Block Size是多少?
64MB
5、什么通常是集群的最主要瓶颈
磁盘IO
6、关于SecondaryNameNode?
它的目的是帮助NameNode合并编辑日志,减少NameNode启动时间
7、什么可以作为集群的管理?
Puppet、Pdsh、Zookeeper
8、 Client端上传文件时候的流程
Client想NameNode发起文件写入的请求。NameNode根据文件大小和文件块配置情况,返回给Client它所管理部分DataNode信息。Client将文件划分为多个Block,根据DataNode的地址信息,按顺序写入到每一个DataNode块中。(NameNode->Client->分块->DataNode)
9、Hadoop的核心配置是什么?
Hadoop的核心配置通过两个xml文件来完成:①hadoop-default.xml ②hadoop-site.xml。这些文件都使用xml格式,因此每个xml中都有一些属性,包括名称和值,但是当下这些文件都已不复存在了。
10、那当下如何配置?
Hadoop现在拥有3个配置文件,①core-site.xml ②hdfs-site.xml ③mapred-site.xml。这些文件都保存在conf/子目录下。
11、jps命令的用处?
这个命令可以检查Namenode、Datanode、Task Tracker、Job Tracker是否正常工作。
12、mapreduce的原理?
Map阶段:
Reduce阶段:
13、HDFS写流程
流程
14、hadoop的Combiner的作用?
combiner是reduce的实现,在map端运行计算任务,减少map端的输出数据。
作用就是优化,但combiner 的使用场景是 mapreduce 的 map 和 reduce 输入输出一样。
15、简述hadoop安装
16、请列出hadoop进程名
17、写出下列命令
hadoop job -list #拿到job-id
hadoop job -kill job-id
Hadoop fs -rmr/tmp/aaa
#加新节点时:
Hadoop-daemon.sh start datanode
Hadoop-daemon.sh start tasktracker
#删除时
hadoop mradmin -refreshnodes
hadoop dfsadmin -refreshnodes
18、简述hadoop的调度器
19、 combiner 和 partition 的作用
20、 hive内部表和外部表的区别
21、Hbase的rowkey怎么创建好?列族怎么创建比较好?
22、 用mapreduce怎么处理数据倾斜问题?
数据倾斜:map/reduce程序执行时,reduce节点大部分执行完毕,但是又一个或几个reduce节点运行很慢,导致整个程序的处理时间很长,这是因为某一个key的条数比其他key多很多(有时时百倍或千倍之多),这条key所在的reduce节点所处理的数据量比其他节点就大很多,从而导致某几个节点迟迟运行不完,称为数据倾斜。
解决:用hadoop程序进行数据关联时,常碰到数据倾斜的情况,这里提供一种解决方法:自己实现partition类,用key和value相加取hash值。
24、我们开发job时,是否可以去掉reduce阶段
可以,设置reduce数为0就好。
25、datanode在什么情况下不会备份
datanode在强制关闭或者非正常断电不会备份。
26、HDFS的体系结构
HDFS由namenode, secondraynamenode, datanode组成。为n+1模式。
27、三个datanode中有一个datanode出现错误会怎么样?
这个datanode的数据会在其他的datanode上重新做备份。
28、描述一下hadoop中,有哪些地方使用了缓存机制,作用分别是什么?
在mapreduce提交job的获取id之后,会将所有文件存储到分布式缓存上,这样文件可以被所有的mapreduce共享。
29、如何确定Hadoop集群的健康状态
通过页面监控,脚本控制
30、生产环境中为什么建议使用外部表?