当前位置:网站首页>【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(十一)
【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(十一)
2022-08-03 17:13:00 【大数据研习社】
持续分享有用、有价值、精选的优质大数据面试题
致力于打造全网最全的大数据面试专题题库
101、简述Hadoop有哪些调度器?
参考答案:
hadoop中常用的调度器有三种:
1)FIFO:(hadoop2.x之前的默认调度器),它先按照作业的优先级高低,再按照到达时间的先后选择被执行的作业。
2)计算能力调度器(容量调度器)Capacity schedular:(hadoop2.x之后的默认调度器)支持多个队列,每个队列可配置一定的资源量,每个队列采用FIFO调度策略,为了防止同一个作业独占队列中的资源,该调度器会对同一用户提交的作业所占资源进行限定。调度时,首先按照以下策略选择一个合适队列:计算每个正在运行任务数与其应该分得的计算资源之间的比值,选择一个该比值最小的队列;然后按以下策略选择队列中一个作业,按照作业优先级和提交时间顺序选择,同时考虑用户资源量限制和内存限制。
3)公平调度器Fair scheduler 同计算能力调度器类似,支持多队列多用户。每个队列的资源量可配置,同一队列中的作业公平共享队列中所有资源。
102、我们该如何选择调度器?
参考答案:
如果你的场景需要先提交的JOB限制性,那就FIFO。
如果想着大家都有机会获取到资源,就得用容量调度,公平调度。容量调度不好的地方是多个队列资源不能相互抢占,提前就把资源分走了,哪怕那个队列没有任务,所以一般都是公平调度。
FIFO调度没人单独用。公平调度支持在某个队列内部选择公平调度还是FIFO。
所以可以认为公平调度是一个混合的调度器。
103、hadoop集群可以运行的3个模式是什么?
参考答案:
(1)单机模式
(2)伪分布模式
(3)分布式
104、谈谈你对 Hadoop Streaming的认识?
参考答案:
(1)Hadoop Streaming框架最大的好处是,让任何语言编写的map, reduce程序能够在hadoop集群上运行;map/reduce程序只要遵循从标准输入stdin读,写出到标准输出stdout即可。
(2)Hadoop Streaming容易进行单机调试,通过管道前后相接的方式就可以模拟streaming, 在本地完成map/reduce程序的调试 # cat inputfile | mapper | sort | reducer > output 。
(3)streaming框架还提供了作业提交时的丰富参数控制,直接通过streaming参数,而不需要使用java语言修改;很多mapreduce的高阶功能,都可以通过steaming参数的调整来完成。
105、简述在combiner和sort分别是发生在map 端还是在reduce端?
参考答案:
Combiner 发生在map节点;sort排序发生在map和reduce阶段。
106、用mr实现怎么实现一个大表和一个小表关联,以及两个大表怎么关联?谈谈你的思路
参考答案:
(1)大小表关联用Reduce join 的分布式缓存。
(2)两个大表关联:Reduce join + BloomFilter。
107、在yarn中,一个job 的运行流程是怎样的?
参考答案:
步骤1:用户向YARN中提交应用程序,其中包括ApplicationMaster程序、启动ApplicationMaster、用户程序等。
步骤2:ResourceManager为该应用程序分配第一个Container,并与对应的NodeManager通信,要求它在这个Container中启动应用程序的ApplicationMaster。
步骤3:ApplicationMaster首先向ResourceManager注册,这样用户可以直接通过ResourceManager查看应用程序的运行状态,然后它将为各个任务申请资源,并监控他的运行状态,直到运行结束,即要重复步骤4-7。
步骤4:ApplicationMaster采用轮询的方式通过RPC协议找ResourceManager申请和领取资源。
步骤5:一旦Application申请到资源后,便与对应的NodeManager通信,要求启动任务。
步骤6:NodeManager为任务设置好运行环境,包括环境变量、JAR包、二进制程序等,然后将任务启动命令写到另一个脚本中,并通过运行该脚本启动任务。
步骤7:各个任务通过RPC协议向ApplicationMaster汇报自己的状态和进度,ApplicationMaster随时掌握各个任务的运行状态,从而可以再任务失败时重新启动任务。在应用程序运行过程中,用户可以随时通过RPC协议ApplicationMaster查询应用程序的当前运行状态。
步骤8:应用程序运行完成后,ApplicationMaster向ResourceManager注销并关闭自己。
108、假设HDFS数据块blocksize大小为64MB,输入类为FileInputFormat,现在有3个文件,大小分别为64KB, 65MB, 200MB,请问Hadoop框架会把这些文件拆分为多少块?总共有多少个map任务?(假设split的大小等于块的大小)
参考答案:
文件 数据块数量 map数量
64kb 1 1
65MB 2 1
200MB 4 4
109、描述一下hadoop生态圈中有哪些地方使用到了缓存机制,作用分别是什么?
参考答案:
(1)MapReduce中的shuffle过程中使用了缓存机制,map task的输出数据需要先写入内存缓冲区中,缓冲区的作用是批量收集map结果,减少磁盘IO的影响。
(2)Hbase中的缓存分了两层:MemStore 和 BlockCache,MemStore供写数据使用,BlockCache供读数据使用
110、请列出正常的hadoop集群中都分别需要启动哪些进程,他们的作用分别都是什么?请尽量列的详细一些。
参考答案:
1)NameNode :管理hdfs名字空间、数据块映射关系,配置副本策略,接受读写请求。
2)DataNode:存储数据,执行数据的读写操作。
3)ResourceManager:处理客户端请求,启动并监控ApplicationMaster,监控NodeManager,资源分配与调度。
4)NodeManager:单节点资源管理,处理来自ResourceManager和ApplicationMaster的指令。
5)Zookeeper:协调服务,实现NN RM 高可用 。
6)FailoverController(zkfc ):不断监听本机NN的状态,然后周期性的向Zookeeper发送心跳,如果当前NN关掉了,重新选举NN Active。
7)journalnode:确保两个NN元数据保持同步。
持续分享有用、有价值、精选的优质大数据面试题
致力于打造全网最全的大数据面试专题题库
边栏推荐
- Web3 安全风险令人生畏?应该如何应对?
- Big guys.Use flink-cdc-sqlserver version 2.2.0 to read sqlserver2008R
- 九种方法!教你如何读取resources目录下的文件路径
- 数据万象内容审核 — 共建安全互联网,专项开展“清朗”直播整治行动
- 软考 --- 软件工程(1)概念、开发模型
- 华为ECS云服务器上安装Docker及部署Redis详细教程【华为云至简致远】
- TiKV & TiFlash 加速复杂业务查询丨TiFlash 应用实践
- 关于 Intel 在 micro-vm 快速启动的探索及实例演示 | 第 36-38 期
- 【时间的比较】
- 11. Container With Most Water
猜你喜欢
【机器学习】机器学习的基本概念/术语2
[Unity Getting Started Plan] Basic Concepts (7) - Input Manager & Input Class
After using Stream for many years, does collect still have these "saucy operations"?
通用型安全监测数据管理系统
国内首发可视化智能调优平台,小龙带你玩转KeenTune UI
【数据库数据恢复】SqlServer数据库无法读取的数据恢复案例
高效的组织信息共享知识库是一种宝贵的资源
IP属地如何高效率识别
Web3 安全风险令人生畏?应该如何应对?
PTA递归练习
随机推荐
Async的线程池使用的哪个?
Description of the functional scenario of "collective storage and general governance" in the data center
PMP备考敏捷考题的五点应对策略
【时间的比较】
How ArkUI adapter somehow the screen
双指针/滑动窗口问题
phoenix创建映射表和创建索引、删除索引
如何在 DataWorks 中 写SQL语句监控数据的变化到达一定的值 进行提示
Huawei, Lenovo, BAIC, etc. were selected as the first batch of training bases for "Enterprise Digital Transformation and Security Capability Improvement" by the Ministry of Industry and Information Te
面试不再被吊打!这才是Redis分布式锁的七种方案的正确打开方式
【GAMES101】作业6 加速结构
微信小程序 - 数组 push / unshift 追加后数组返回内容为数字(数组添加后打印结果为 Number 数值类型)
新特性解读 | MySQL 8.0 在线调整 REDO
SwinIR combat: record the training process of SwinIR in detail
deepstresam的插件配置说明,通过配置osd,设置字体的背景为透明
【Metaverse系列一】元宇宙的奥秘
IP属地如何高效率识别
yolov5s用自己的数据集进行训练模型
JS中对象数组用sort按属性排序
学会 Arthas,让你 3 年经验掌握 5 年功力!