排行
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
中国数据库
向量数据库
时序数据库
实时数据库
搜索引擎
空间数据库
图数据库
数据仓库
大调查
2021年报告
2022年报告
年度数据库
2020年openGauss
2021年TiDB
2022年PolarDB
2023年OceanBase
首页
资讯
活动
大会
学习
课程中心
推荐优质内容、热门课程
学习路径
预设学习计划、达成学习目标
知识图谱
综合了解技术体系知识点
课程库
快速筛选、搜索相关课程
视频学习
专业视频分享技术知识
电子文档
快速搜索阅览技术文档
文档
问答
服务
智能助手小墨
关于数据库相关的问题,您都可以问我
数据库巡检平台
脚本采集百余项,在线智能分析总结
SQLRUN
在线数据库即时SQL运行平台
数据库实训平台
实操环境、开箱即用、一键连接
数据库管理服务
汇聚顶级数据库专家,具备多数据库运维能力
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
我的订单
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
资讯
活动
大会
课程
文档
排行
问答
我的订单
首页
专家团队
智能助手
在线工具
SQLRUN
在线数据库即时SQL运行平台
数据库在线实训平台
实操环境、开箱即用、一键连接
AWR分析
上传AWR报告,查看分析结果
SQL格式化
快速格式化绝大多数SQL语句
SQL审核
审核编写规范,提升执行效率
PLSQL解密
解密超4000字符的PL/SQL语句
OraC函数
查询Oracle C 函数的详细描述
智能助手小墨
关于数据库相关的问题,您都可以问我
精选案例
新闻资讯
云市场
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
专家团队
智能助手
精选案例
新闻资讯
云市场
微信扫码
复制链接
新浪微博
分享数说
采集到收藏夹
分享到数说
首页
/
大数据运维尖刀面试题(九)
大数据运维尖刀面试题(九)
大数据研习社
2022-07-30
430
长按二维码关注
大数据领域必关注的公众号
81、hdfs数据块的默认大小是多少?过大过小有什么优缺点?
参考答案:
1、数据块默认大小
Hadoop2.0之前,默认数据块大小为64MB。
Hadoop2.0之后,默认数据块大小为128MB。
2、优缺点
1)数据块太小:
(1)会导致寻址时间相对比较长,如果读取数据块数据的时间小于寻址时间,这样是很不划算的,所以数据块要尽可能大一点。
(2)数据块的大量元数据会占用namenode内存,影响namenode管理的集群规模
2)数据块太大:
为了保证数据的本地性,通常一个块的 数据是交给一个map任务来处理,如果数据块太大,就导致map任务处理的数据量就会很多,时间就会很长,不能很好地实现并行处理。
82、简述hadoop的副本策略?副本过多过少有什么优缺点?
参考答案:
1、默认的副本策略:
BlockPlacementPolicyDefault。
1)1st replica. 如果写请求方所在机器是其中一个datanode,则直接存放在本地,否则随机在集群中选择一个datanode。
2)2nd replica. 第二个副本存放于不同第一个副本的所在的机架。
3)3rd replica.第三个副本存放于第二个副本所在的机架,但是属于不同的节点。
4)剩下其它的副本随机选择存储的位置。
2、副本过多导致存储空间的浪费,增加节点之间数据传输对时间和资源的消耗,副本过少容易导致数据丢失,起不到数据安全可靠的作用。
83、DataNode副本存储策略?如果Hadoop在保存副本的时候,比如,第二个副本存完毕,向第三个副本存入数据时DataNode挂了,会出现什么情况?
参考答案:
1、默认的副本策略:BlockPlacementPolicyDefault。
1)1st replica. 如果写请求方所在机器是其中一个datanode,则直接存放在本地,否则随机在集群中选择一个datanode。
2)2nd replica. 第二个副本存放于不同第一个副本的所在的机架。
3)3rd replica.第三个副本存放于第二个副本所在的机架,但是属于不同的节点。
4)剩下其它的副本随机选择存储的位置。
2、
数据复制过程中出现问题怎么解决?
1)这个问题其实也是写数据过程,当数据写入DataNode的过程中,当其中一个DataNode挂掉了,会将这个DataNode移除流水线,然后将数据写入到剩余的datanode。
2)在写入结束后, namenode会收集datanode的信息,发现此文件的数据块的replication没有达到配置的要求(default=3),然后再选择一个datanode保存副本。
84、客户端向HDFS写入数据过程?
参考答案:
写数据流程:
1)首先客户端对文件进行切分,切分成数据块,每个数据块默认存储到3个节点上。
2)在写入数据之前,客户端首先会告诉NameNode要写一个文件,此时NameNode会增加一个文件,记录这个文件的详细信息,把这个文件放入目录树里面。
3)然后开始写数据,因为客户端把文件划分成了很多块,在写第一个数据块时,NameNode先要返回3个DataNode位置,这样第一个数据块会以一个一个数据包的方式(packet)写入第一个DataNode,同时数据包也同时会向第二,第三个节点写,形成数据写的流水线,每个DataNode写完数据包之后,会返回确认。当第一个数据块写完之后,以同样的方式写下一个数据块。
4)当所有数据块写完之后,它调用close关闭写入流,它会通知NameNode 文件写完了,这时就会关闭socket,结束数据的写过程。
85、客户端从HDFS读数据过程?
参考答案:
读数据流程:
1)客户端首先发送一个open请求到NameNode,获取这个文件所包含数据块,以及每个数据块的存储位置。
2)这些数据块信息返回给客户端之后,它依次按照这个数据块的顺序,读取每一个数据块。
3)第一个数据块在这个节点上面读,第二个数据块在这个节点读,读完之后,按照文件实际数据块的先后位置,显示给用户,整个文件读完之后,就会调用close,关闭输出流就ok了。
86、datanode什么情况下不会备份?
参考答案:
设置备份数为1时, 就不会备份了。
延申:
Hadoop中在哪里设置备份数, 是哪个字段?
在hdfs-site.xml中的dfs.replication变量。
87、HDFS中大量小文件带来的问题以及解决方法
参考答案:
问题:
hadoop中目录,文件和块都会以对象的形式保存在namenode的内存中, 大概每个对象会占用150bytes. 小文件数量多会大量占用namenode的内存; 使namenode读取元数据速度变慢, 启动时间延长; 还因为占用内存过大, 导致gc时间增加等。
解决办法:
两个角度, 一是从根源解决小文件的产生, 二是解决不了就选择合并。
从数据来源入手, 如每小时抽取一次改为每天抽取一次等方法来积累数据量。
如果小文件无可避免, 一般就采用合并的方式解决. 可以写一个MR任务读取某个目录下的所有小文件, 并重写为一个大文件。
88、fsimage和editlogs是做什么用的?
参考答案:
命名空间镜像(FSlmage)
:HDFS的目录树及文件/目录元信息是保存在内存中的,如果节点停电或进程崩溃,数据将不再存在,必须将上述信息保存到磁盘,Fslmage就是保存某一个时刻元数据的信息的磁盘文件。
镜像编辑日志(EditLog)
:对内存目录树的修改,也必须同步到磁盘元数据上,但每次修改都将内存元数据导出到磁盘,显然是不现实的,为此,namenode引入了镜像编辑日志,将每次的改动都保存在日志中,如果namenode机器宕机或者namenode进程挂掉后可以使用FSlmage和EditLog联合恢复内存元数据。
89、Linux中的块大小为4KB, 为什么HDFS中块大小为64MB或128MB?
参考答案:
(1)块是存储在文件系统中的数据的最小单元. 如果采用4kb的块大小来存放存储在Hadoop中的数据, 就会需要大量的块, 大大增加了寻找块的时间, 降低了读写效率。
(2)一个map或者一个reduce都是以一个块为单位处理, 如果块很小, mapreduce任务数就会很多, 任务之间的切换开销变大, 效率降低。
90、并发写入HDFS文件可行吗?
参考答案:
不行。因为客户端通过namenode接收到在数据块上写入的许可后, 那个块会锁定直到写入操作完成, 所以不能在同一个块上写入。
欢迎点赞 + 收藏 + 在看
素质三连
完
▼
往期精彩回顾
▼
程序员,如何避免内卷
Apache 架构师总结的 30 条架构原则
【全网首发】Hadoop 3.0分布式集群安装
大数据运维工程师经典面试题汇总(附带答案)
大数据面试130题
某集团大数据平台整体架构及实施方案完整目录
大数据凉凉了?Apache将一众大数据开源项目束之高阁!
实战企业数据湖,抢先数仓新玩法
Superset制作智慧数据大屏,看它就够了
Apache Flink 在快手的过去、现在和未来
华为云-基于Ambari构建大数据平台(上)
华为云-基于Ambari构建大数据平台(下)
【HBase调优】Hbase万亿级存储性能优化总结
【Python精华】100个Python练手小程序
【HBase企业应用开发】工作中自己总结的Hbase笔记,非常全面!
【剑指Offer】近50个常见算法面试题的Java实现代码
长按识别左侧二维码
关注领福利
领10本经典大数据书
文章转载自
大数据研习社
,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
领墨值
有奖问卷
意见反馈
客服小墨