我正在hadoop apache 2.7.1
并添加大小不超过100 Kb
的文件所以如果我将块大小配置为1 mb或者是默认值 128 mb
不会影响我的文件,因为它们只会保存在一个块上
我们下载文件时将检索一个块
但是块存储大小的差异是什么 我的意思是,当文件小于1 mb时,存储1 mb块大小的文件与将其存储在128 mb块大小不同
我的意思是当1 mb的文件存储在128 m的块中时它将保留整个块,并且该块不会用于其他文件,或者空块将用于其他文件指针指的是块中的文件起始位置
我发现上传和下载时间没有区别 我还有其他要点吗
答案 0 :(得分:0)
我将引用由我撰写的(现已停止的)SO文档,因为为什么不这样做。
例如,假设您有一个大小为1024 MB的文件。如果您的块大小为128 MB,您将获得8个块,每块128 MB。这意味着您的namenode需要存储8 x 3 = 24个文件的元数据(3个是复制因子)。
考虑块大小为4 KB的相同场景。它将导致1GB / 4KB = 250000块,这将需要namenode为仅1GB文件保存750000块的元数据。由于所有这些与元数据相关的信息都存储在内存中,因此首选较大的块大小以节省NameNode上的额外负载。