01_Hadoop企业面试题
2020-08-05 14:27:55 0 举报
AI智能生成
登录查看完整内容
Hadoop企业面试题
作者其他创作
大纲/内容
Hadoop企业面试题
HDFS分布式存储工作机制
hadoopHA的架构原理
YARN的资源调度工作机制
说一下hadoop的组成结构
1.HDFS\t管理者:namenode\t工作者:DataNode\t辅助管理者:secondaryNameNode2.MapReduce3.YARN\t管理者:ResourceManage\t工作者:NodeManage
MR的shuffle过程
mapper()方法做业务逻辑处理,然后将数据传到分区方法中,给数据标记好分区,将数据发送到环形缓冲区
环形缓冲区默认100M,达到80%的阈值进行溢写操作
溢写之前会进行排序,排序的规则是字典序排序,排序的手段呢是快排
溢写会产生很多溢写文件,溢写文件默认达到10个会进行合并,合并时采用的算法是归并排序
也可以进行combiner局部聚合的操作,前提是局部聚合的结果不会对最终的结果有影响
reduceTask发取拉取线程,去map端拉取数据,拉过来的数据会先存储到内存中,内存放不下了就放到磁盘中,等到数据拉取完毕之后会再进行一个归并排序
然后再对数据进行分组,以组为单位将数据发送到reduce()方法中
Hadoop的垃圾回收机制
HDFS的回收站必须是开启的,一般设置为7天
hadoop nn配置G1垃圾回收器
Hadoop怎么离线查看小文件
1.使用hdfs命令获取FsImage数据文件 -- hdfs dfsadmin -fetchImage ./tmp_meta
2.使用hdfs oiv命令解析FsImage文件 -- hdfs oiv -i ./tmp_meta/fsimage_0000000000008236656 -o ./tmp_meta/fsimage.csv -p Delimited
3.将解析的csv文件加载到Hive的HDFS_META_TEMP表中
4.使用Sqoop脚本将Hive元数据中关于Hive库和表的信息抽取的Hive中
5.执行base.sql文件创建分析的Impala表
6.执行analyse_sql/all_hdfs.sql语句通过各个维度查找小文件
mapreduce为什么分两部分,为什么不直接map或直接reduce
是为了实现分布式计算,提高计算效率。
很多情况下都是需要对整个数据集进行计算操作,单单的分成每个单独的小部分虽然能提高计算效率,但是导致无法完成实际需求,是没有任何意义的,
所以添加一个reduce阶段,负责将分成多个部分计算的结果汇总进行处理,使得更加能满足一般需求。
HDFS小文件怎么处理的
小文件的危害
每个文件在NameNode中存储大约占150个字节
小文件过多会影响namenode的寿命
影响MR的执行任务的数量,因为MR会对一个小文件开启一个Maptask,maptask任务过多则会导致频繁的开启关闭,降低了执行效率
在Flume阶段配置参数解决这个问题
配置参数
先生成临时文件,达到128M或者是1个小时滚成一个新的文件
使用Hadoop自带的HAR
将多个小文件打包成一个正式文件,NameNode中的元数据也就存储一份
CombineFileInputFormat
MR读取数据时将对个小文件当做一个文件,只起一个MapTask,提高了任务的执行效率
map任务和reduce在哪儿运行的
我们将MR程序提交到了YARN上
Maptask和reducetask运行在container上
Hadoop文件大小怎么切分
Hadoop的切片原则是按照块大小(默认128M)进行切分
yarn的三个核心组件
ResourceManage 负责整个集群资源的分配
NodeManage 每个节点上的资源管理器
ApplicationMaster 单个应用程序的管理者
怎么进行集群监控,例如哪些节点down掉,失效?
1、看主机情况是否正常,是否有主机失效;
2、看hdfs哪些节点失效,去所在主机看日志。
Namenode 线程数过少会报什么错误?
如设置太小,DataNode在传输数据的时候日志中会报告“connecton refused"信息
0 条评论
回复 删除
下一页