主页 > 软件教程 > 学习-块、网络拓扑、副本策略、机架感知(2)

学习-块、网络拓扑、副本策略、机架感知(2)

两个角色:

Namenode负责管理文件的名称空间

Datanode负责存储数据,会定时向namenode进行汇报,是一个list。

补充概念:

  1. HDFS的块(block)
  2. 文件的分块(chunk)
  3. 网络拓扑
  4. 机架感知

1、HDFS的块(block)

磁盘是分数据块的,默认大小512B

磁盘:一个600B的文件,分成两个部分一个是512B,一个是88B。

512B存到1号分块中,88B存到2号分块中。下次如果有一个新的文件,是不会再补充到2号分块中,只会往后继续存放。

HDFS:抽象在磁盘之上,有上述磁盘类似的概念。

但有不同点:

  1. block默认大小,Hadoop1.x 64M Hadoop2.x 128M。
  2. HDFS:一个200M的文件,分成两个部分一个是128M,一个是72M。

HDFS分块大小为什么是128M?答案:最小化寻址时间

例子:假如我们的磁盘速率是100M/s,磁头寻址时间是10ms,在整个传输过程中,让寻址时间仅仅占传输时间的1%,传输的文件大小是100M。

100在2的N次方中离128最近。

2、文件的分块(chunk)

Chunk默认的大小和block是一样的。可以调整,建议和block一样。

3、网络拓扑

每个节点是有可能出现问题的,比如Server1这个节点突然断电了,那么就会存在丢失数据的情况。如何最大程度避免这个问题呢?

Hadoop选择备份数据,将BLK_1备份到多台机器上,比如三台机器上,一个机器出问题了,还有两个机器可以使用。

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!