Hadoop入門(5)--HDFS

HDFS簡介

Hadoop的文件系統node

設計結構

1 Block(塊)
HDFS將文件分配成block來存儲,每一個塊默認64MB,塊是文件存儲處理的邏輯單元,按照block管理
2 NameNode
管理節點,存放元數據網絡

  • 文件與數據塊的映射表
  • 數據塊與數據節點的映射表
    HDFS體系結構
    這裏寫圖片描述
    3 DataNode
    HDFS的工做節點
    用來存放真正的數據塊的
    這裏寫圖片描述

HDFS中數據管理和容錯

數據塊副本

爲了保證硬件上的容錯,每一個數據塊3個副本,分佈在兩個機架內的三個節點(兩份在同一個機架 )。一個機架故障不影響。
這裏寫圖片描述併發

心跳檢測

NameNode和DataNode之間有心跳協議,
DataNode按期向NameNode發送心跳信息(網絡 關機)
Secondary NameNode
NameNode的備份,按期同步元數據映像文件和修改日誌
故障時轉正
這裏寫圖片描述oop

HDFS中文件讀取的流程

讀取
- 客戶端先在NameNode查找DataNode的位置
- 再按照位置在datanode中找到,下載下來
這裏寫圖片描述
寫入ui

  • 文件拆分紅塊
  • 在NameNode中查找,空的DataNode,返回空的地址
  • 在空的DataNode中寫入
  • 流水線複製成三分
  • 更新NameNode
    這裏寫圖片描述spa

    HDFS特色

    1 數據冗餘 硬件容錯
    * 2 流式的數據訪問*
    3 存儲大文件 不適合存儲大量小文件
    4 適合數據批量讀寫 吞吐量高
    不適合交互式應用 高延遲
    5適合一次寫入屢次讀取,順序讀寫
    不支持多用戶併發寫相同文件設計

    HDFS 使用

可視化操做日誌

hadoop namenode -format

查看文件夾code

hadoop fs -ls/

提交orm

hadoop fs -put hadoop-env.sh 目錄

從HDFS下載

hadoop fs -get input/hadoop-env.sh hadoop-env2.sh
hadoop fs -get (HDFS目錄) (另命名)

看文件系統全部信息

hadoop dfsadmin -report
相關文章
相關標籤/搜索