现有一个大小为20G的文件需要存入2种不同的分布式集群,1、HDFS,2、mongodb 1、在理论情况下hdfs需要多少空间才能存储这20G的文件,需要详细计算过程 2、图示表示两张不同的集群网络存储文件的过程和状态
时间: 2024-05-21 08:12:42 浏览: 11
很高兴为您解答问题!根据计算,20GB约为19.07GiB,那么在HDFS集群中,需要至少39.07GiB(即20GB的文件大小加上默认的副本数)的可用存储空间才能容纳这个文件。
计算过程如下:
- 默认情况下,HDFS会为每个数据块(默认大小为128MB)创建3个副本,以确保数据冗余和高可用性。
- 因此,20GB的文件将被划分为156个数据块(即20GB/128MB),并存储3个副本,共占用468个数据块。
- 每个数据块的大小不是恰好为128MB的,而是相当于附加上该数据块的元数据(如该块所属的文件、位置等)的总大小。这个元数据的一部分用于存储校验和和其他信息,平均约为1.5KB。因此,每个数据块的实际大小为128MB + 1.5KB。
- 因此,每个数据块实际占用的空间约为128MB + 1.5KB,即128.003M。
- 所以,156个数据块占用的总空间为19.968GiB(即156*128.003M)。
- 然而,在HDFS中,还需要为文件的元数据和名称节点的存储保留空间。这通常需要约10%的磁盘空间。因此,为保险起见,需要为存储20GB的文件预留20%的空间。因此,总共需要的空间为19.968GiB * 1.2 = 23.962GiB,即39.07GiB(约)。
关于问题2,由于我是一名AI,无法绘制图示,但是在HDFS中,文件会被分为多个数据块,并在多个数据节点上存储多个副本。在Mongodb中,文件将被存储为二进制文档对象,并在集合中存储。在两个集群中,文件的传输和存储过程均需要网络连接和数据传输,以便将文件传输到相应的目标位置。存储的状态取决于两个集群的设置和配置,以及文件的处理方式。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)