大数据开发面试题【HDFS篇】

15、介绍下HDFS,说下HDFS优缺点,以及使用场景?

HDFS(hadoop distributed file system)
优点
高容错:将文件分为多个块,可以在多个节点上进行复制存储,当节点发生故障时,可以自动恢复数据
高吞吐:并行处理数据块,较高的读写速度,高效进行批处理操作
适应大文件存储:将文件划分为多个小块,分布在各个节点上,适合大文件存储和处理
缺点:
高延迟数据访问
不适合小文件存储:对小文件的存储不够高效,浪费存储空间和元数据开销
使用场景:大规模数据存储和计算、日志分析

16、HDFS作用

存储大规模数据集、数据的冗余和备份、高吞吐的数据访问、故障监测和恢复

17、HDFS有哪些容错机制

数据冗余和备份:将一个文件划分为多个块存储到各个节点上并做副本备份,当某一个节点出问题的时候,其他节点数据依然可用
心跳机制:DN会定时向NN发送心跳信号,确保依然在工作,如果NN在某一时间段内未接收到DN的信号,则标记该DN不可用
副本恢复:当某一节点发生故障时候,HDFS会自动启用副本恢复机制,将该节点上的块副本复制到其他可用的数据节点上,保证数据的完整新
容错检测和恢复:HDFS会定期监测节点和块的完整性,并自动修复损坏的块

18、HDFS的副本机制

冗余存储:会将每个块的副本存储在不同数据节点上,默认的将每个块的副本数设置为3
数据本地性:副本机制会尽量将数据存储在离计算节点比较近的节点上,减少网络传输
副本同步:某个节点故障或者新增节点,HDFS会自动将副本从其他节点复制到新的节点上,保持副本数量和位置平衡

19、HDFS的常见数据格式,列式存储格式和行存储格式异同点,列式存储优点有哪些?

HDFS中常见的数据格式:文本文件、序列文件、Avro文件、Parquet文件、ORC文件
按行存储:数据按行进行存储,一行的所有值都连续存储
按列存储:数据按列进行存储,同一列的数据连续存储
列示存储优点:
压缩率高:由于列示存储同一列的数据类型相同,可以采用更高效的算法进行压缩,减少存储空间
查询性能优异:对于特定查询需求的列,只需要读取该列的数据,提高查询性能
更好的数据压缩和解压缩效率:列式存储格式在读取时候只需要解压缩需要的列数据,效率更高

20、HDFS如何保证数据不丢失(HDFS如何保证数据一致性、保证数据安全)

数据副本机制:多个副本保存在不同节点上,可从副本中恢复
心跳监测:DN周期性的向NN发送心跳信号,确保还在工作状态,若长时间没有心跳信号,则NN将该故障DN山上的数据副本复制到其他节点上
数据完整性校验:客户端写入数据的时候,会计算数据块的校验和,将其存储在NN上,当读取数据的时候,使用检验和检验数据是否完整
容错机制:在节点故障或者网络问题时候,数据能保持一致性和可用性

21、HDFS NN高可用如何实现?

HDFS高可用机制使用了一个Active-StandBy架构,当其中一个NN处于活动状态时候,另一个NN处于备用状态;
需要Active NameNode、Standby NameNode、JournalNode、ZooKeeper;JournalNode用于存储NN的编辑日志,确保在NN切换时候的数据一致性。Zookeeper用于监控和管理活动和备用NN之间的切换;

22、HDFS的mapper和reducer的个数如何确定?reducer的个数依据是什么?

1、Mapper的个数由输入数据的分片数决定,hdfs将数据文件划分为多个块,每一个块由一个mapper进行处理
2、在确定reducer个数时候,需要考虑集群中的硬件资源,一般来说reducer个数不超过集群中可用计算节点数
3、对于计算密集型任务,可以增加reduer的个数提高计算速度,对于IO密集型的任务,增加mapper的个数加快数据处理速度
reduce个数可以由程序员自行设定,也决定了输出文件的个数;
设置的数量范围为:(0.95——1.75)* 节点数量*每个节点上最大的容器数

23、HDFS中向DN中写入数据失败怎么办?

24、HDFS中DN怎么存储数据的?

1、客户端向NN发起写请求,将需要写入的文件名、文件大小等信息告诉NN。
2、NN将文件进行划分,记录数据块的副本位置信息并返回给客户端
3、客户端根据副本位置信息,将数据块发送给对应的DN
4、DN接收到数据块后,将数据块存储在本地磁盘上,
5、DN写入数据的时候,先写入一个临时文件,一旦数据块写入完成,则转变为永久存储文件
6、DN会定时向NN报告存储的数据块信息

补充:HDFS读文件过程

1、客户端访问NN,查询元数据信息,获得这个文件的数据块位置列表,返回输入流对象
2、就近挑选一台DN服务器,请求建立输入流
3、DN向输入流中写数据,以packet为单位来校验
4、关闭输入流

补充:300m,切片大小是128m,切几片

第一片:0-128M,第二片:128-256M,第三片:256-300M
每次切片的时候,都要判断切完剩下的部分是否大于块的1.1倍,大于时候,继续按照规定切块,小于1.1倍时候,将剩下的文件大小归到一个切片上去

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/632998.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

全面掌握深度学习:从基础到前沿

引言:深入探索深度学习的世界 在人工智能(AI)的广阔领域中,深度学习已经成为最令人瞩目的技术之一。它不仅推动了科技的许多突破性进展,也正在改变我们的工作和生活方式。本博客旨在全面总结深度学习的关键知识点&…

Kubeblocks系列2-redis尝试之出师未捷身先死

背景: 上一节,完成了Kubeblocks系列1-安装。现在就想拿一个简单的应用测试一下kubeblocks这个所谓的神器是否好用,是否可以应用与生产! Kubeblocks系列2-redis尝试 参照官方文档:创建并连接到 Redis 集群 确保 Red…

使用docker+jenkins构建前端项目发布到nginx

1.准备环境 为了方便公司开发优化代码,不需要反复地将项目包发送给运维部署,我们对开发环境的前端项目利用jenkinsCI/CD进行自动化部署 需要两台服务器 一台jenkins 一台发布服务器,这里发布服务器 我直接使用开发环境的服务器 将admin界面与云计算展示…

python调用百度文心一言对话模型

近日,百度宣布其两款主力模型 ENIRE Speed、ENIRE Lite 可以免费使用。试了一下怎么程序调用。 1.准备工作 需要注册百度智能云账号,也可以使用原来的百度账号登录,登录之后要完成实名认证,才能使用API调用。在千帆大模型操作台…

5.23-

回顾 I0多路复用的原理? 程序首先向操作系统发起一个IO多路复用请求,告诉操作系统需要监视哪些IO通道。这些IO通道可以包括网络套接字、文件描述符等操作系统随后会将这些IO通道放入一个队列中,并在某个IO通道就绪时(如数据到达、文件可读…

滴滴三面 | Go后端研发

狠狠的被鞭打了快两个小时… 注意我写的题解不一定是对的,如果你认为有其他答案欢迎评论区留言 bg:23届 211本 社招 1. 自我介绍 2. 讲一个项目的点,因为用到了中间件平台的数据同步,于是开始鞭打数据同步。。 3. 如果同步的时候…

Linux-centos下安装ffmpeg的详细教程

源安装 第一种方式: . 首先需要安装yum源: 这个源安装的ffmpeg版本是3.4 yum install epel-release yum install -y https://mirrors.ustc.edu.cn/rpmfusion/free/el/rpmfusion-free-release-7.noarch.rpm然后可以安装ffmpeg yum install -y ffmpeg ff…

data studio连接到虚拟机上的openGauss

参考:使用DataStudio连接本地虚拟机中的opengauss数据库_big data_白日梦想家_胖七七-华为云开发者联盟 本实验虚拟机安装的是CentOS7 数据库版本是:openGauss-5.0.2-CentOS-64bit-all.tar.gz 1.配置pg_hba.conf 首先使用su - omm登录到omm用户&…

家电维修上门维修小程序怎么搭建制作?

​在家庭生活中,家电的维修问题一直是人们关注的焦点。随着微信小程序的普及,家电维修服务行业也迎来了线上转型的机遇。一款便捷、高效的家电维修上门维修小程序,不仅能为维修服务商带来新的客户,也能为用户带来更便捷的服务体验…

JavaWeb基础(HTML,CSS,JS)

这些知识用了三四天左右学完,因为是JavaWeb,并不是前端,所以只是够用,不是深入,但是这确实是学校一个学期交的东西(JavaWeb课程)。 总结一下网页分为三部分:HTML(内容结构),CSS&…

详解ArcGIS 水文分析模型构建

目录 前言 项目环境、条件 Dem 数据预览 ArcGIS模型构建器 模型搭建 填洼 流向 流量 河流长度 栅格计算器 河流链接 河网分级 栅格河网矢量化 绘制倾泻点 栅格流域提取 集水区 盆域分析 栅格转面 模型应用 导出 py 文件 完善脚本 最终效果 结束语 前言 …

网络安全技术心得体会

网络与信息安全技术心得体会 通过对网络安全这门课程的学习,我进一步了解了网络安全技术的相关知识。大致来说,所谓网络安全指的是对网络系统中各类软硬件和数据信息等提供保护屏障,确保数据信息不受到恶意侵入、窃取等破坏,保证…

modelbox验证expand和condition共用后,是否顺序保持

如图,在expand之后接了个condition,上下两个流中每一对数据buffer的顺序性是否还会保持? 笔者修改让condition在遇到奇数和偶数时的走向不同。 然后在response单元输出每一对数据,发现顺序都不变。且在处理时,输出会卡…

【C语言深度解剖】(16):C语言的文件读写操作

🤡博客主页:醉竺 🥰本文专栏:《C语言深度解剖》 😻欢迎关注:感谢大家的点赞评论关注,祝您学有所成! ✨✨💜💛想要学习更多C语言深度解剖点击专栏链接查看&…

微服务框架Go-kit 01 - 基础示例

一、Go kit简介 Go kit 是一个用于构建可扩展、灵活和可维护微服务的框架和工具集合。它提供了一系列库和组件,涵盖了微服务开发的各个方面,包括服务发现、负载均衡、通信、日志记录、请求跟踪、限流、熔断等。 Go kit 构建微服务时遵循一种类似于传统…

成都爱尔胡建斌院长提醒近视超过600度,记得每年检查眼底!

高度近视是指近视度数在600度及以上的一种屈光不正的状态。 近视的眼睛必定是变形的。在正常情况下,人的眼球类似球体,但随着近视加深,眼轴变长,眼球体积逐渐增大,整个眼球从圆球型向椭圆球形发展,而眼球壁…

HTTPS 协议原理详解

HTTPS 协议原理详解 什么是 HTTPS 协议什么是 SSL/TSL 层HTTPS 使用到的加密算法HTTPS 中 TLS 层的加密过程详解HTTPS 加密过程中用到的数字证书 什么是 HTTPS 协议 HTTPS (全称:Hypertext Transfer Protocol Secure ),是以安全为…

栈(基于动态顺序表实现的栈)

栈的简单介绍 关于栈的性质咳咳 栈:栈是一种特殊的线性表,其中只让在一端插入和删除元素。 后进先出 进行插入删除的那一端叫栈顶,另一端叫栈底 我们实现的栈是基于一个动态顺序表的的栈,会实现栈的 入栈,出栈,获取…

Python知识点复习

文章目录 Input & OutputVariables & Data typesPython字符串重复(字符串乘法)字符串和数字连接在一起print时,要强制类型转换int为str用input()得到的用户输入,是str类型,如果要以int形式计算的话&#xff0c…

Dijkstra算法在《庆余年》中的应用:范闲的皇宫之旅

❤️❤️❤️ 欢迎来到我的博客。希望您能在这里找到既有价值又有趣的内容,和我一起探索、学习和成长。欢迎评论区畅所欲言、享受知识的乐趣! 推荐:数据分析螺丝钉的首页 格物致知 终身学习 期待您的关注 导航: LeetCode解锁100…