bst*_*mpi 78
What does 64MB block size mean?
Run Code Online (Sandbox Code Playgroud)
块大小是文件系统可以存储的最小数据单位.如果存储1k或60Mb的文件,则会占用一个块.一旦穿过64Mb边界,就需要第二个块.
If yes, what is the advantage of doing that?
Run Code Online (Sandbox Code Playgroud)
HDFS旨在处理大文件.假设您有一个1000Mb的文件.对于4k块大小,您必须发出256,000个请求来获取该文件(每个块1个请求).在HDFS中,这些请求通过网络传递,并带来很多开销.每个请求都必须由名称节点处理,以确定可以找到该块的位置.那是很多流量!如果使用64Mb块,请求数将减少到16,从而大大降低了名称节点上的开销和负载成本.
cab*_*bad 18
HDFS的设计最初受到Google文件系统(GFS)设计的启发.以下是原始GFS文件中所述的大块大小的两个原因(关于GFS术语与HDFS术语的注释1:chunk = block,chunkserver = datanode,master = namenode;注2:粗体格式是我的):
大块尺寸提供了几个重要的优点.首先,它减少了客户端与主服务器交互的需要,因为在同一块上的读取和写入只需要向主服务器发送一个初始请求以获取块位置信息.减少对我们的工作负载尤其重要,因为应用程序主要是按顺序读取和写入大文件.[...] 其次,因为在大块上,客户端更有可能在给定块上执行许多操作,它可以通过在较长时间内保持与块服务器的持久TCP连接来减少网络开销.第三,它减少了存储在主服务器上的元数据的大小.这允许我们将元数据保存在内存中,这反过来又带来了我们将在2.6.1节中讨论的其他优点.
最后,我应该指出Apache Hadoop中当前的默认大小是128 MB.
| 归档时间: |
|
| 查看次数: |
65860 次 |
| 最近记录: |