当前位置: 首页 > news >正文

宜昌市网站建设加强司法机关网站建设

宜昌市网站建设,加强司法机关网站建设,上海做网站吧,c 做网站设计3.5 HDFS存储原理 3.5.1 冗余数据保存 作为一个分布式文件系统,为了保证系统的容错性和可用性,HDFS采用了多副本方式对数据进行冗余存储,通常一个数据块的多个副本会被分布到不同的数据节点上。 如图所示,数据块1被分别存放到…

3.5  HDFS存储原理

 3.5.1 冗余数据保存

作为一个分布式文件系统,为了保证系统的容错性和可用性,HDFS采用了多副本方式对数据进行冗余存储,通常一个数据块的多个副本会被分布到不同的数据节点上。
 

如图所示,数据块1被分别存放到数据节点AC上,数据块2被存放在数据节点AB上。

这种多副本方式具有以下几个优点:

1)加快数据传输速度

2)容易检查数据错误

3)保证数据可靠性

 3.5.2 数据存取策略

 1.数据存放

Ø第一个副本:放置在上传文件的数据节点;如果是集群外提交,则随机挑选一台磁盘不太满、CPU不太忙的节点

Ø第二个副本:放置在与第一个副本不同的机架的节点上

Ø第三个副本:与第一个副本相同机架的其他节点上

Ø更多副本:随机节点

2. 数据读取

ØHDFS提供了一个API可以确定一个数据节点所属的机架ID,客户端也可以调用API获取自己所属的机架ID

Ø当客户端读取数据时,从名称节点获得数据块不同副本的存放位置列表,列表中包含了副本所在的数据节点,可以调用API来确定客户端和这些数据节点所属的机架ID,当发现某个数据块副本对应的机架ID和客户端对应的机架ID相同时,就优先选择该副本读取数据,如果没有发现,就随机选择一个副本读取数据

3. 数据复制(采用流水线策略)

当客户端需要向HDFS中写入一个文件时,文件首先被写入本地计算机。

1)按照HDFS的设置被切分成一定大小的块,具体大小由HDFS设置

2)每个块都会向HDFSNameNode节点发起写请求

3NameNode节点会根据系统中各个DataNode节点的使用情况,选择一个合适的DataNode节点列表返回给客户端。

4)客户端随后会将数据首先写入列表中的第一个DataNode节点,同时将列表传给该节点。

3 数据复制(采用流水线策略)

5)第一个DataNode节点在接收到一定数量的数据后,会向列表中的第二个DataNode节点发起连接请求,并把自己已经接收到的数据和列表传给第二个节点。

6)第二个节点在接收到数据后,也会向列表中的第三个节点发起连接请求。依此类推。这样,列表中的多个DataNode节点形成了一条数据复制的流水线。

 3.5.3 数据错误与恢复

HDFS具有较高的容错性,可以兼容廉价的硬件,它把硬件出错看作一种常态,而不是异常,并设计了相应的机制检测数据错误和进行自动恢复,主要包括以下几种情形:

Ø 名称节点出错
Ø 数据节点出错
Ø 数据出错。
1. 名称节点出错

名称节点保存了所有的元数据信息,其中,最核心的两大数据结构是FsImageEditlog,如果这两个文件发生损坏,那么整个HDFS实例将失效。解决方案:

1 )把名称节点上的元数据信息同步存储到其他文件系统,如 NFS
2 )运行一个第二名称节点,当名称节点死机后,可以把运行第二名称节点作为一种弥补,但这种做法有问题,问题在哪?
最优做法: NFS 和第二名称节点结合用

2. 数据节点出错

Ø 每个数据节点会定期向名称节点发送“心跳”信息,向名称节点报告自己的状态。
Ø 当数据节点发生故障,或者网络发生断网时,名称节点就无法收到来自一些数据节点的心跳信息,这时,这些数据节点就会被标记为“宕机”,节点上面的所有数据都会被标记为“不可读”,名称节点不会再给它们发送任何 I/O 请求。
Ø 这时,有可能出现一种情形,即由于一些数据节点的不可用,会导致一些数据块的副本数量小于冗余因子。
Ø 名称节点会定期检查这种情况,一旦发现某个数据块的副本数量小于冗余因子,就会启动数据冗余复制,为它生成新的副本。
Ø HDFS 和其它分布式文件系统的最大区别就是可以调整冗余数据的位置。

3. 数据出错

Ø 网络传输和磁盘错误等因素,都会造成数据错误
Ø 客户端在读取到数据后,会采用 md5 sha1 对数据块进行校验,以确定读取到正确的数据
Ø 在文件被创建时,客户端就会对每一个文件块进行信息摘录,并把这些信息写入到同一个路径的隐藏文件里面
Ø 当客户端读取文件的时候,会先读取该信息文件,然后,利用该信息文件对每个读取的数据块进行校验,如果校验出错,客户端就会请求到另外一个数据节点读取该文件块,并且向名称节点报告这个文件块有错误,名称节点会定期检查并且重新复制这个块。

3.6 HDFS数据读写过程

Ø FileSystem 是一个通用文件系统的抽象基类,可以被分布式文件系统继承,所有可能使用 Hadoop 文件系统的代码,都要使用这个类
Ø Hadoop FileSystem 这个抽象类提供了多种具体实现
Ø DistributedFileSystem 就是 FileSystem HDFS 文件系统中的具体实现
Ø FileSystem open() 方法返回的是一个输入流 FSDataInputStream 对象,在 HDFS 文件系统中,具体的输入流就是 DFSInputStream
Ø FileSystem 中的 create() 方法返回的是一个输出流 FSDataOutputStream 对象,在 HDFS 文件系统中,具体的输出流就是 DFSOutputStream
http://www.yayakq.cn/news/257480/

相关文章:

  • 做汽车团购的网站建设科技打造巅峰华夏从横推鹰酱开始
  • 做电视直播网站如何制作小程序码
  • 福清福州网站建设t恤定制平台
  • 如何编写一个网站平台网站应该怎样做seo
  • 装饰网站建设效果图做微商怎么找客源加人
  • 中国建设银行网站会员可以改名现在的网站开发框架
  • 中小学 网站建设 通知炎陵网站建设
  • 在线做网页的网站seo综合查询爱站
  • 网站怎么做按钮外汇网站建设公司
  • 合肥花境建设网站手机网站生成
  • 有专业做外贸的网站吗深圳市网站备案
  • 制作网站需要钱吗wordpress设置网址
  • 呼和浩特做网站的公司wordpress heroku
  • 明星网站怎么设计南宁购物网站建设
  • 网站关键词推广做自然排名做哪些网站比较赚钱方法
  • 做捕鱼网站电话号码苏州做网站知识的分享
  • 郑州网站建设hnqfu运营电商是做什么的
  • 网站开发地址做问卷兼职有哪些网站
  • 高端建设网站建设网站站长工具
  • 淘宝客的网站怎么做呢人工智能培训心得体会
  • 重庆网站设计总部手机微信营销软件
  • 苏州网站建设点一点沙河网站建设
  • 做折页的网站wordpress 数据库 插件
  • 科普网站栏目建设方案网易云wordpress
  • 天津大良网站建设注册个体可以做网站吗
  • 行业门户网站建设费用莱芜金点子信息港官网
  • 做好网站如何发布淘宝客如何建设自己的网站
  • 一流的高密做网站的上海设计网站大全
  • 网站建设cms百度推广必须做手机网站吗
  • 地方门户网站用户小程序怎么开发自己的微信小程序