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的更多相关文章
随机推荐
- BBS注册功能
BBS注册功能 一.后端 1.组件校验数据 """ @author RansySun @create 2019-11-03-11:35 """ ...
- 如何优雅的设计APP页面?
页面框架设计只是整个产品设计中的一环,不要把眼界局限在这一环,也不要只站需求.只站在交互.只站在视觉上思考问题,从多个角度看问题,你才会学会成长. 产品设计是一个系统工程,单独拧出来其中一个流程来讲, ...
- DRF框架之ModelSerializer序列化器
ModelSerializer是Serializer的子类,序列化和反序列化跟Serializer一样. ModelSerializer与常规的Serializer相同,但提供了: 基于模型类自动生成 ...
- CodeForces 994B Knights of a Polygonal Table(STL、贪心)
http://codeforces.com/problemset/problem/994/B 题意: 给出n和m,有n个骑士,每个骑士的战力为ai,这个骑士有bi的钱,如果一个骑士的战力比另一个骑士的 ...
- HDU-1875 畅通工程再续(最小生成树+判断是否存在)
http://acm.hdu.edu.cn/showproblem.php?pid=1875 Problem Description 相信大家都听说一个“百岛湖”的地方吧,百岛湖的居民生活在不同的小岛 ...
- FHQ treap板子
感觉这个玩意就是拆来拆去,所以没啥可学习的 粘一下两个题的代码吧 LGOJ 普通平衡树 #include <bits/stdc++.h> using namespace std; #def ...
- [HNOI2019]校园旅行(建图优化+bfs)
30分的O(m^2)做法应该比较容易想到:令f[i][j]表示i->j是否有解,然后把每个路径点数不超过2的有解状态(u,v)加入队列,然后弹出队列时,两点分别向两边搜索边,发现颜色一样时,再修 ...
- B-Tree(B树)原理及C++代码实现
B树是一种平衡搜索树,它可以看做是2-3Tree和2-3-4Tree的一种推广.CLRS上介绍了B树目前主要针对磁盘等直接存取的辅存设备,许多数据库系统也利用B树或B树的变种来存储信息. 本文主要针对 ...
- MySQL安装教程及Navicat连接MySQL报错:1251-Client does not support authentication protocol requested by server
MySQL安装可参考: MySql 8.0.18安装 此参考文章后面涉及到的密码修改,对本标题碰到的错误同样适用. 本文先讲如何安装,在讲碰到的1251问题.要直接看解决方案的朋友可以直接通过目录链接 ...
- EMD——EEMD——CEEMD语音增强算法基础
首先,HHT中用到的EMD详细介绍:https://wenku.baidu.com/view/3bba7029b4daa58da0114a9a.html 本文具体参考 https://zhuanlan ...