文档章节

HDFS设计基础与目标

三平行者
 三平行者
发布于 2015/03/10 17:29
字数 548
阅读 50
收藏 0

设计基础:

(1)由于硬件错误是常态。因此需要冗余。

(2)流式数据访问,即数据批量读取,而非随机读取。hadoop擅长做的是数据分析而不是事务处理。

(3)大规模数据集

(4)简单一致性模型。为了降低系统复杂度,对文件采取一次性写多次读的逻辑设计,即是文件一经写入,关闭后,就再也不能修改。

(5)程序采用“数据就近”原则分配节点执行。

 

体系结构:

hdfs采用主从结构,Namenode属于主端,Datanode属于从端。

Namenode:

    1) 管理文件系统的命名空间。

    2) 记录每个文件数据块在Datanode上的位置和副本信息。

    3) 协调客户端对文件的访问。

    4) 记录命名空间内的改动或者空间本身属性的改动。

    5) Namenode使用事务日志记录HDFS元数据的变化。使用映像文件存储文件系统的命名空间,包括文件映射、文件属性等。

从社会学的角度看,Namenode是HDFS的管理者,发挥管理、协调、操控的作用。

 

 Datanode:

    1) 负责所在物理节点的存储管理。

    2) 一次写入,多次读取,不能修改。

    3) 文件由数据库组成,一般情况下,数据块的大小为64MB。

    4) 数据尽量散布到各个节点。

     从社会学的角度看,Datanode是HDFS的工作者,发挥着按照Namenode的命令干活,并且把干活的进展和问题反馈到Namenode的作用。

 

SecondaryNameNode:

    1) HA的一个解决方案。但不支持热备。配置即可。

    2) 执行过程:从NameNode上下载元数据信息(fsimage,edits),然后把二者合并,生成新的fsimage,在本地保存,并将其推送到NameNode,同时重置NameNode的edits.

    3) 默认在安装在NameNode节点上,但这样...不安全!

 

可靠性:

(1)冗余副本策略

(2)机架策略

(3)心跳机制

(4)安全模式

(5)校验和

(6)回收站

(7)元数据保护

(8)快照机制

© 著作权归作者所有

共有 人打赏支持
三平行者
粉丝 3
博文 32
码字总数 14655
作品 0
海淀
项目经理
私信 提问
饿了么技术沙龙北京-架构专场

饿了么技术沙龙北京研发中心·架构专场【第二弹】 阿饿君回来了,福利再次登陆北京! 本次饿了么技术沙龙北京研发中心·架构专场邀请了58、头条、当当以及饿厂的主厨在等你,总有一盘会是你的...

eletech
2017/03/13
2
0
深入浅出Hadoop: 高效处理大数据

Hadoop与Google一样,都是小孩命名的,是一个虚构的名字,没有特别的含义。从计算机专业的角度看,Hadoop是一个分布式系统基础架构,由Apache基金会开发。Hadoop的主要目标是对分布式环境下的...

bengozhong
2016/02/26
50
0
hdfs源码详解系列(第一节)

hdfs基础架构介绍 hdfs简介 hdfs是hadoop distributed filesystem的缩写,设计思想最早源于GFS(google分布式文件系统),顾名思义就是hadoop分布式文件系统,简单通俗的将就是将一个大文件切...

dingyanming
03/15
0
0
业务增长400%,Uber如何快准稳扩容HDFS集群?

作者 | Ang Zhang , Wei Yan 编译 | 李瑞丰 编辑 | Emily Chen 三年前,Uber 采用 Hadoop 作为大数据分析系统中海量存储(HDFS)和并行计算(YARN)的底层架构方案。随着业务的发展,Uber ...

AI前线
05/01
0
0
Hadoop分布式文件系统设计要点与架构

Hadoop分布式文件系统设计要点与架构 Hadoop简介:一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存...

李伟铭k
07/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

《孩子,你慢慢来》的读书笔记与读后感2600字

《孩子,你慢慢来》的读书笔记与读后感2600字: 龙——保护儿童的思维: 今天读《孩子,你慢慢来》龙这一节,安安的妈妈是中国人,她在安安两岁的时候就认识到安安有着固执的个性。安安正是处...

原创小博客
14分钟前
2
0
kubernetes每个节点创建一个服务的Pod

1. 问题场景 希望一个worker节点上仅部署同样的服务一个. 比如: kubernets有三个worker节点,三个节点部署N个副本的api服务, 为了提高服务效率希望加入缓存,需要为三个节点个部署一个redis服务...

jimmywa
17分钟前
4
0
搭建Git服务器

Git本身是没有服务器和客户端的区别,但是如果我们要共享git仓库时,就需要ssh、http,它们就有服务器和客户端的区别。 Windows平台下搭建Git服务器 1、在自己电脑搭建Git服务器,且只有自己...

国仔饼
32分钟前
1
0
百万并发下的Nginx优化,看这一篇就够了!

本文作者主要分享在 Nginx 性能方面的实践经验,希望能给大家带来一些系统化思考,帮助大家更有效地去做 Nginx。 优化方法论 我重点分享如下两个问题: 保持并发连接数,怎么样做到内存有效使...

JackFace
35分钟前
3
0
java_集合

非并发集合 并发集合

grace_233
45分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部