大数据的存储与处理——GFS和HDFS简介

本文介绍了Google的GFS和Hadoop的HDFS分布式文件系统。GFS通过客户端、主服务器和Chunk Server实现数据传输,采用副本方式确保容错。HDFS则由名称节点和数据节点构成,采用固定大小的块存储,通过SecondaryNameNode进行元数据管理。两者都以冗余存储提供高可用性,但面临低延迟访问和小文件存储的挑战。
摘要由CSDN通过智能技术生成

一:GFS

Google需要一个支持海量存储的文件系统
方法一:购置昂贵的分布式文件系统与硬件?
方法二:是否可以在一堆廉价且不可靠的硬件上构建可靠的分布式文件系统?
问题:为什么不使用当时现存的文件系统?
Google所面临的问题与众不同 不同的工作负载,不同的设计优先级(廉价、不可靠的硬件)需要设计与Google应用和负载相符的文件系统

优点:在物理上分离,逻辑上统一,用数量上的多,来弥补单个机器的不足,三个臭皮匠赛过诸葛亮

1:GFS传输过程

解析:
Client(客户端):应用程序的访问接口
Master(主服务器):管理节点,在逻辑上只有一个,保存系统的元数据,负责整个文件系统的管理
Chunk Server(数据块服务器):负责具体的存储工作。数据以文件的形式存储在Chunk Server上

应用程序——GFS服务器:文件名
GFS服务器——GFS数据块服务器 搜索文件
GFS数据块服务器——GFS服务器 返回chunk句柄和chunk文职
应用程序——GFS数据块服务器 chunk句柄
GFS数据块服务器——应用程序 数据
典型的数据流和控制流分离

实现机制
1:客户端首先访问Master节点,获取交互的Chunk Server信息,然后访问这些Chunk Server,完成数据存取工作。这种设计方法实现了控制流和数据流的分离。
2:Client与Master之间只有控制流,而无数据流,极大地降低了Master的负载。
3:Client与Chunk Server之间直接传输数据流,同时由于文件被分成多个Chunk进行分布式存储,Client可以同时访问多个Chunk Server,从而使得整个系统的I/O高度并行,系统整体性能得到提高。

在这里插入图片描述

2:master容错机制:

GFS将服务器故障视为正常现象,并采用多种方法,从多个角度,使用不同的容错措施,确保数据存储的安全、保证提供不间断的数据存储服务

① Name Space,即文件系统的目录结构
② Chunk 与 文件名的映射 (因为一个文件会被划分成多个Chunk*,因此需要一个映射来告诉系统,这个文件对应哪几个chunk)
③ Chunk副本的位置信息 (一个chunk会存储三个副本*)

① 和 ② 的容错是通过“操作日志”来完成的。也就说存在operation log里。当系统发生故障时,通过分析log就可以知道当时存了哪些文件,这些文件又被分成了哪些个chunks
③是存储在Chunk Server上的,当发生故障时࿰

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值