博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
再理解HDFS的存储机制
阅读量:5009 次
发布时间:2019-06-12

本文共 1037 字,大约阅读时间需要 3 分钟。

再理解HDFS的存储机制

    

1. HDFS开创性地设计出一套文件存储方式。即对文件切割后分别存放;

2. HDFS将要存储的大文件进行切割,切割后存放在既定的存储块(Block)中,并通过预先设定的优化处理,模式对存储的数据进行预处理,从而攻克了大文件储存与计算的需求。

3. 一个HDFS集群包含两大部分。即NameNode与DataNode。

一般来说,一个集群中会有一个NameNode和多个DataNode共同工作;

4. NameNode是集群的主server,主要是用于对HDFS中全部的文件及内容数据进行维护,并不断读取记录集群中DataNode主机情况与工作状态,并通过读取与写入镜像日志文件的方式进行存储。

5. DataNode在HDFS集群中担任任务详细执行角色,是集群的工作节点。文件被分成若干个同样大小的数据块,分别存储在若干个DataNode上。DataNode会定期向集群内NameNode发送自己的执行状态与存储内容,并依据NameNode发送的指令进行工作;

6. NameNode负责接受client发送过来的信息,然后将文件存储位置信息发送给提交请求的client。由client直接与DataNode进行联系,从而进行部分文件的运算与操作。

7. Block是HDFS的基本存储单元,默认大小是64M。

8. HDFS还能够对已经存储的Block进行多副本备份,将每一个Block至少拷贝到3个相互独立的硬件上,这样能够高速恢复损坏的数据;

9. 用户能够使用既定的API接口对HDFS中的文件进行操作;

10. 当client的读取操作错误发生的时候。client会向NameNode报告错误,并请求NameNode排除错误的DataNode后后又一次依据距离排序。从而获得一个新的DataNode的读取路径。假设全部的DataNode都报告读取失败。那么整个任务就读取失败;

11. 对于写出操作过程中出现的问题。FSDataOutputStream并不会马上关闭。client向NameNode报告错误信息。并直接向提供备份的DataNode中写入数据。

备份DataNode被升级为首选DataNode,并在其余2个DataNode中备份复制数据。

NameNode对错误的DataNode进行标记以便兴许对其进行处理。

转载于:https://www.cnblogs.com/yangykaifa/p/7168526.html

你可能感兴趣的文章
php中引用&的真正理解-变量引用、函数引用、对象引用
查看>>
关于<form> autocomplete 属性
查看>>
OutOfMemory
查看>>
LeetCode:组合总数III【216】
查看>>
Thinkphp框架回顾(三)之怎么实现平常的sql操作数据库
查看>>
虚函数的效率问题
查看>>
POJ 1860 Currency Exchange(SPFA 判断有无“正”环)
查看>>
广告地址屏蔽
查看>>
收缩SqlServer数据库日记方法
查看>>
每日英语:15 places to find inspiration
查看>>
学习方法--提问
查看>>
【转】每天一个linux命令(3):pwd命令
查看>>
merge-two-sorted-lists
查看>>
MySQL(3)
查看>>
poj1061——扩展gcd水题
查看>>
UVa400.Unix ls
查看>>
POJ 2299 Ultra-QuickSort 归并排序、二叉排序树,求逆序数
查看>>
Educational Codeforces Round 60 (Rated for Div. 2) C. Magic Ship
查看>>
Windows 2008 R2系统开机时如何不让Windows进行磁盘检测?
查看>>
WP7应用开发笔记(18) 本地化与多语言
查看>>