写:

  1. client向nameNode发送写请求,nameNode记录下block信息,返回可用的DataNode(文件管理员记录下将要存放的文件编号,并告知把什么文件放到哪个书架上。)
  2. DataNode的分配原则,默认存3份,2份需要不同机架,1份需要同机架不同节点。(文件需要做备份,默认3份,2份放到不同的书架上,1份放到同一个书架,但是不同层。)
  3. client把block打包成package,每个package大小为64K,开始传输到3个dataNode中。
  4. host2接收完client发来的第一个package,由host2发给host1,host1完了再发给host3。
  5. 等待全部的block发完,host2向client汇报收完了,host1,2,3向NameNode汇报收完了。
  6. client收到host2汇报收完后的信息,想nameNode发送写完了的信息。

说明了什么:

  • 1M的文件,需要3M的存储空间,3M的网络流量
  • NameNode和DataNode随时保持心跳HeartBeat
  • 能接受的灾难为,挂掉一个节点,挂掉一个机架

results matching ""

    No results matching ""