Bootstrap

大数据技术思想入门(三):分布式文件存储的流程

如果你不喜欢阅读文字的话,可以选择滑到最后看 视频讲解 哟~~~

进程和 RPC

在上一篇文章中,我们讲解了要解决好大数据集的存储问题,需要引入一个主从结构的集群,其中,主服务器用于存储元数据,从服务器用于存储真正的数据块数据。

在这里,我们还需要了解两点:

分布式文件存储的流程

假设现在有一个主从集群,从节点有 3 个,每个节点的磁盘容量是 10 TB,每个数据块的大小假设设置为 128 MB,每个数据块备份存储 3 份。

服务器也可以称为节点

接下来我们想将一个大数据集存储到上面的主从集群中,那么这个存储的流程步骤是什么样的呢?为了能讲清楚这个流程步骤,我们假设这个大数据集存储在服务器 A 中,它的大小是 422 MB,我们将这个大数据集存储在文件名为/douma/data/text.txt 的分布式文件中。

相对于分布式主从集群,这里的服务器 A 可以称为客户端 (也就是向主从集群发起请求的节点机器)。

首先,客户端向主节点发起创建文件的请求,这个请求中包含的主要信息是:

主节点上的进程收到这个请求后,会做如下的处理:

主节点做完上面的事情之后,就会将以下的信息告诉客户端:

客户端接到主节点的响应信息后,就将数据切分成数据块,然后将对应的数据块直接写到对应的 slave 节点上,比如数据块 1 的的写入流程是:

分布式文件的读取

以上说的是分布式文件写的流程,接下来,我们看下分布式文件的读取过程。

首先客户端向主节点发起读取请求,请求的信息就是需要读取的文件名称,比如读取文件 /douma/data/text.txt 。

主节点接收到客户端的读取请求后,会做如下的事情:

主节点将文件对应的数据块的元数据返回给客户端,客户端接收到了这些响应信息后,就分别从对应的 slave 服务器中读取对应的数据块,然后将数据块组合起来就是这个文件的所有数据了。

系统学习大数据技术