Hadoop@大数据开发专家(40K以上)必须掌握技能!( 三 )
a.FsImage用于维护文件系统树以及文件树中所有的文件和文件夹的元数据
b.FsImage文件没有记录块存储在哪个数据节点 。 而是由名称节点把这些映射保留在内存中 , 这个信息单独在内存中一个区域维护 , 当数据节点加入HDFS集群时 , 数据节点会把自己所包含的块列表告知给名 称节点 , 此后会定期执行这种告知操作 , 以确保名称节点的块映射是最新的
EditLog文件:
操作日志文件EditLog中记录了所有针对文件的创建、删除、重命名等操作
(2)名称节点的启动
在名称节点启动的时候 , 它会将FsImage文件中的内容加载到内存中 , 之后再执行 EditLog文件中的各项操作 , 使得内存中的元数据和实际的同步 , 存在内存中的元数据支持客户端的读写操作 。
接收所有datanodes上的文件块信息汇报 , 退出安全模式 。
(3)名称节点的问题
名称节点运行期间 , HDFS的所有更新操作都是直接写到EditLog中 , 久而久之 , EditLog件将会变得很大 , 这对名称节点运行没有什么明显影响的 , 但是 , 名称节点重启的时候 , 需要先将FsImage里面的所有内容映像到内存中 , 然后再一条一条地执行EditLog中的记录 , 当EditLog文件非常大的时候 , 会导致名称节点启动操作非常慢 , 而在这段时间内HDFS系统处于安全模式 , 一直无法对外提供写操作 , 影响了用户的使用 。
名称节点坏掉了 。
(4)解决方案之一
本文插图
本文插图
(5)解决方案之二(Hadoop HA)
本文插图
(6)HDFS 异常处理之DataNode
- 数据节点出错
- 数据出错
(7)其他
- 优点
b.采用流式的数据访问方式
c.运行于普通商用机器
d.高容错、高可靠性
- 不适合的应用场景:
b.大量小文件的情况
c.多方读写 , 需要任意的文件修改
(8)扩展 GFS简介(Google File System)
谈到Hadoop的起源 , 就不得不提Google的三驾马车:Google FS、MapReduce、BigTable 。 虽然Google没有公布这三个产品的源码 , 但是他发布了这三个产品的详细设计论文 , 奠定了风靡全球的大数据算法的基础!
(9)问题
1、为什么不适用于处理大量小文件?
2、HDFS的Block为什么这么大?
3、读取或者写入文件 , 如果不调用Close方法关闭文件流会咋样?
推荐阅读
- []重庆移动-亚德高等级数据中心落户西永微电园
- 平台■在线视频平台大数据杀熟成惯例 买VIP就活该被宰?
- 「数据线」手机充电慢?那你需要看看是不是这些地方出了问题
- 大数据:这套绝对是2020年大数据最全面的线路图+实战项目+源码限时赠你
- 『手机技巧超人』手机开发者选项居然这么神奇!手机用了这些年,你不会还不知吧?
- 【Ace】原创 用实际数据发声,OPPO Ace2的这些亮点你要知道
- #颜七公子#TunesKit iPhone Data Recovery for Mac(iPhone数据恢复工具)
- 邓锄头挖科技■关于IDC数据中心的“容量管理”的目标和3种子业务场景
- 技术@为楼宇安上“智慧大脑”,翠苑街道开创“一平台”数据互通模式
- 「北京」这家环保大数据企业为北京抗“疫”装上千里眼
