ストレージとHDFSアーキテクチャ

HDFSストレージモデル

  • バイト形式で保存
  • 断片にリニアファイル(ブロック):オフセットオフセット(バイト)
  • ブロックは、クラスタ内のストレージノードに分散しました
  • 一貫性のある単一のファイルサイズをブロックし、ファイルとファイルが矛盾することができます
  • ブロックがコピーの数を設定することができ、コピーは無秩序異なるノードに分散します
  • ノード数のコピーの数を超えないようにしてください
  • ブロックファイルのアップロードには、コピー(プロセスを開くために十分なリソース)の大きさと数を設定することができます
  • アップロードされたファイルのコピーのブロック番号が同じサイズに調整することができます(2.xの128メガバイト3つのブロック)
  • 一度書くの多くを読んで、唯一の作家ということのみをサポート
  • あなたは追加のデータを追加することができます

HDFSのアーキテクチャモデル

  • ファイルのメタデータのメタデータ、ファイルデータ    
    • メタデータ
    • データ自体
  • 名前ノード(マスター)ノードを格納するファイルのメタデータ:単一ノードPOSIX
  • ブロックファイルデータを保存するノード(から)データノード:マルチノード
  • データノードと名前ノードは、ブロックリストを提出し、ハートビート残ります
  • HdfsClient名前ノードは、メタデータ情報と対話します
  • HdfsClientデータノードのデータファイルブロック(CS)との対話
  • ローカルファイルシステムに保存されたデータノードを使用してサーバーのデータ・ブロック

HDFSアーキテクチャ図

HDFSの設計

  • 均一に分散ストレージdfs.blocksize = 128M
  • バックアップ冗長メモリdfs.replication = 3




名前ノード(NN)

  • RAMベースのストレージ:ディスクが(双方向)を交換しません。
    • これは、メモリ内にのみ存在します
    • 持続性(片道)
  • 名前ノードの主な機能:
    • 読み取りとサービスクライアントを受け入れるために書きます
    • ブロックリストの情報収集データノードの報告
  • メタデータ情報が含まれて保存名前ノード
    • Owershipとファイルのパーミッション
    • ファイルサイズ、時間
    • (ブロックリスト:ブロックオフセット)、位置情報(持続性が存在しません)
    • (データノードによって報告された)各位置のブロックコピー

名前ノードの永続性

  • 起動後のメタデータ情報の名前ノードには、メモリにロードされます
  • ディスクファイルに格納されているメタデータは、「fsimage」(タイムバックアップのポイント)と呼ばれます
  • ブロック位置情報はfsimageに保存されていません
  • edits记录对metadata的操作日志…>Redis
  • 二者的产生时间和过程?(format)

SecondaryNameNode(SNN)

  • 它不是NN的备份(但可以做备份),它的主要工作是帮助NN合并edits log,减少NN启动时间。
  • SNN执行合并时机
    • 根据配置文件设置的时间间隔fs.checkpoint.period  默认3600秒
    • 根据配置文件设置edits log大小 fs.checkpoint.size 规定edits文件的最大值默认是64MB    

SNN合并流程图


DataNode(DN)

  • 本地磁盘目录存储数据(Block),文件形式
  • 同时存储Block的元数据信息文件
  • 启动DN时会向NN汇报block信息
  • 通过向NN发送心跳保持与其联系(3秒一次),如果NN 10分钟没有收到DN的心跳,则认为其已经lost,并copy其上的block到其它DN

HDFS优点

  • 高容错性
    • 数据自动保存多个副本
    •  副本丢失后,自动恢复
  • 适合批处理
    • 移动计算而非数据
    • 数据位置暴露给计算框架(Block偏移量)
  • 适合大数据处理
    • GB 、TB 、甚至PB 级数据
    • 百万规模以上的文件数量
    • 10K+ 节点
  • 可构建在廉价机器上
    • 通过多副本提高可靠性
    • 提供了容错和恢复 机制

HDFS缺点

  • 低延迟数据访问
    • 比如毫秒级
    • 低延迟与高吞吐率
  • 小文件存取
    • 占用NameNode 大量内存
    • 寻道时间超过读取时间
  • 并发写入、文件随机修改
    • 一个文件只能有一个写者
    • 仅支持append

Block的副本放置策略

  • 第一个副本:放置在上传文件的DN;如果是集群外提交,则随机挑选一台磁盘不太满,CPU不太忙的节点。
  • 第二个副本:放置在于第一个副本不同的 机架的节点上。
  • 第三个副本:与第二个副本相同机架的节点。
  • 更多副本:随机节点

おすすめ

転載: www.cnblogs.com/dragon-123/p/11182224.html