BeWhatever
Hadoop Distributed File System:分布式文件系统。 HDFS基于流数据模式访问和处理超大文件需求开发,具有高容错性,高可靠性,高可扩展性,多部署在低成本的硬件上。HDFS提供对应用程序数据的高吞吐量访问,便利了海量数据的处理
介绍
- 假设和目标
- 硬件故障:检测故障并从中快速恢复
- 流式数据访问
- HDFS设计用于批处理而非用户的交互使用
- 重点是数据访问的高吞吐量而非低延迟
- 大数据集
- HDFS上运行的应用程序具有大型数据集,支持大文件
- 应为单个集群中的数百个结点提供高聚合数据带宽和扩展
- 应在单个实例中支持数万个文件
- 一致性模型
- write-one-read-many
- 除了追加和截断之外,无需更改创建,写入和关闭的文件
- 支持将内容附加到文件末尾,但是无法在任意点更新
- MapReduce应用程序和Web爬虫程序完全适用于此模型
- 移动计算而非移动数据
- 好的做法是将计算迁移到更靠近数据所在的位置(HDFS提供接口)
- 应用程序在其操作的数据附近执行,效率更高
- 最大限度减小网络拥塞和提高系统吞吐量
- 跨异构硬件和软件平台的可移植性
大专栏 BeWhatevererlink" title="HDFS 架构 – 主从架构(master/slave)">HDFS 架构 – 主从架构(master/slave)
- 架构图

- Client
- 文件切分。文件上传HDFS的时候,Client将文件切分成一个一个的Block进行存储
- 与 NameNode 交互,获取文件的位置信息
- 与 DataNode 交互,读取或者写入数据
- Client 提供命令来管理 HDFS,启动或者关闭HDFS
- Client 可以通过一些命令来访问HDFS
- NameNode(master)
- 管理系统命名空间
- 管理客户端对文件的访问(读写请求)
- 管理数据块映射信息
- 配置副本策略
- DataNode(slave)
- 确定块 – DataNode的映射
- 提供来自Client的读写请求
- 块创建/删除
- Secondary NameNode
- 当NameNode挂掉的时候,并不能马上替换 NameNode 提供服务
- 辅助 NameNode,分担其工作量
- 定期合并 fsimage和fsedits,并推送给NameNode
- 在紧急情况下,可辅助恢复 NameNode
参考资料
- https://www.cnblogs.com/codeOfLife/p/5375120.html
- http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html
BeWhatever的更多相关文章
随机推荐
- ubuntu14.04安装32位库
sudo dpkg --add-architecture i386 sudo apt update
- 画一画BeagleboneBlack的PCB
一直有听说“Cadence是这个星球上第一好用的EDA软件”,便想着找机会来学学.正好BeagleboneBlack是用Cadence设计的,而且是开源硬件,原理图和PCB文件可以直接在Wiki上下载 ...
- python学习笔记(29)-操作excel
操作excel #存到excel里面,python去操作excel文件 #只支持这种后缀,xlsx ,openpyxl只支持这种格式 # from openpyxl import load_workb ...
- 编译原理_P1001
1 绝大部分软件使用高级程序设计语言来编写.用这些语言编写的软件必须经过编译器的编译,才能转换为可以在计算机上运行的机器代码.编译器所生成代码的正确性和质量会直接影响成千上万的软件.虽然大部分人不会参 ...
- Matlab高级教程_第二篇:Matlab相见恨晚的模块_02_并行运算-2
1 MATLAB并行计算-从个人桌面到远程集群和云(陈伟/魏奋)视频摘录笔记 https://cn.mathworks.com/videos/parallel-computing-with-matla ...
- php对比二个不同的二维数组
$diff_data = array_filter($data1, function($v) use ($data2) { return ! in_array($v, $data2);});
- 三十二、http与www服务介绍
一.用户访问百度(www.baidu.com) 用户访问在url中输入地址后,首先会访问本地的缓存和hosts文件,如果没有,会访问本地DNS,在就是根域和顶级域名等,在前面已经说过了,这里不再赘述. ...
- RDD(七)——依赖
概述 RDD只支持粗粒度转换,即在大量记录上执行的单个操作.将创建RDD的一系列Lineage(血统)记录下来,以便恢复丢失的分区.RDD的Lineage会记录RDD的元数据信息和转换行为,当该RDD ...
- 系统学习javaweb1----HTML语言1
自我感受:HTML语言没想到也有这么大的学问,竟然能通过超链接标签直接访问百度,这可让我大吃一惊,我也得反思一下自己,上学期的java纯是混过来的,没有系统的学习过,感觉能通过期末考试都是侥幸,接下来 ...
- Facebook推云存储,究竟是福利还是陷阱?
被全球人民diss了很长时间的Facebook,近段时间也是穷尽各种办法来挽回自己的声誉.除了不断的道歉.做出各种保护隐私承诺外,Facebook还在旗下产品的功能上玩转新花样.如,前些日子Faceb ...