(四)HDFS 的認識和 shell 操作

2021-10-07 09:28:08 字數 1449 閱讀 5247

分而治之:將大檔案、大批量檔案,分布式存放在大量伺服器上,以便於採取分而治之的方式對海量資料進行運算分析;

為各類分布式運算框架(如:mapreduce,spark,tez,……)提供資料儲存服務

首先,它是乙個檔案系統,用於儲存檔案,通過統一的命名空間——目錄樹來定位檔案其次,它是分布式的,由很多伺服器聯合起來實現其功能,集群中的伺服器有各自的角色;重要特性如下:

hdfs中的檔案在物理上是分塊儲存(block),塊的大小可以通過配置引數( dfs.blocksize)來規定,預設大小在x版本中是128m,老版本中是64mhdfs檔案系統會給客戶端提供乙個統一的抽象目錄樹,客戶端通過路徑來訪問檔案,形如:hdfs://namenode:port/dir-a/dir-b/dir-c/file.data目錄結構及檔案分塊資訊(元資料)的管理由namenode節點承擔

-----namenode是hdfs集群主節點,負責維護整個hdfs檔案系統的目錄樹,以及每乙個路徑(檔案)所對應的block塊資訊(block的id,及所在的datanode伺服器)

----- datanode是hdfs集群從節點,每乙個block都可以在多個datanode上儲存多個副本(副本數量也可以通過引數設定dfs.replication)

(注:適合用來做資料分析,並不適合用來做網盤應用,因為,不便修改,延遲大,網路開銷大,成本太高)

(工作機制的學習主要是為加深對分布式系統的理解,以及增強遇到各種問題時的分析解決能力,形成一定的集群運維能力)

注:很多不是真正理解hadoop技術體系的人會常常覺得hdfs可用於網盤類應用,但實際並非如此。要想將技術準確用在恰當的地方,必須對技術有深刻的理解

概述

hdfs集群分為兩大角色:namenode、datanode

namenode負責管理整個檔案系統的元資料

datanode 負責管理使用者的檔案資料塊

檔案會按照固定的大小(blocksize)切成若干塊後分布式儲存在若干臺datanode上

每乙個檔案塊可以有多個副本,並存放在不同的datanode上

datanode會定期向namenode匯報自身所儲存的檔案block資訊,而namenode則會負責保持檔案的副本數量

hdfs的內部工作機制對客戶端保持透明,客戶端請求訪問hdfs都是通過向namenode申請來進行

下面列出幾個常用的操作命令

Hadoop 三 HDFS認識和理解

一 hdfs hadoop distributed file system的英文首字母縮寫 意思是hadoop分布式檔案系統,主要用來解決海量資料的儲存問題 概念 hdfs是乙個分布式的 何為分布式?在空間的任意點上隨意分布 由很多伺服器聯合起來實現其功能,集群中的伺服器有各自的角色。其次是乙個檔案...

HDFS 第2章HDFS的Shell操作

常用命令實操 0 啟動hadoop集群 sbin start dfs.sh sbin start yarn.sh 1 help 輸出這個命令引數 hadoop fs help rm 2 ls 顯示目錄資訊 hadoop fs ls 3 mkdir 在hdfs上建立目錄 hadoop fs mkdir...

HDFS中的shell操作

1.首先命令都是以hadoop fs 開頭 2.hadoop fs ls 檢視hdfs的根目錄下的內容,hadoop fs lsr 遞迴檢視根目錄下的內容 3.hadoop fs mkdir gao,在hdfs上建立資料夾gao 4.hadoop fs put 把資料從linux上傳到hdfs的特定...