亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

HDFS基本概念有哪些

發布時間:2021-12-13 11:03:21 來源:億速云 閱讀:155 作者:小新 欄目:大數據

小編給大家分享一下HDFS基本概念有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

  1.1 HDFS的介紹

  源自于Google的GFS論文 發表于2003年10月 HDFS是GFS克隆版 ,HDFS的全稱是Hadoop Distributed File System易于擴展的分布式文件系統,運行在大量普通廉價機器上,提供容錯機制,為大量用戶提供性能不錯的文件存取服務

  整個Hadoop的體系結構主要是通過HDFS來實現對分布式存儲的底層支持,并通過MR來實現對分布式并行任務處理的程序支持。

  HDFS采用主從(Master/Slave)結構模型,一個HDFS集群是由一個NameNode和若干個DataNode組成的(在最新的Hadoop2.2版本已經實現多個NameNode的配置-這也是一些大公司通過修改hadoop源代碼實現的功能,在最新的版本中就已經實現了)。NameNode作為主服務器,管理文件系統命名空間和客戶端對文件的訪問操作。DataNode管理存儲的數據。HDFS支持文件形式的數據。

  從內部來看,文件被分成若干個數據塊,這若干個數據塊存放在一組DataNode上。NameNode執行文件系統的命名空間,如打開、關閉、重命名文件或目錄等,也負責數據塊到具體DataNode的映射。DataNode負責處理文件系統客戶端的文件讀寫,并在NameNode的統一調度下進行數據庫的創建、刪除和復制工作。NameNode是所有HDFS元數據的管理者,用戶數據永遠不會經過NameNode。

  2 HDFS設計目標

  自動快速檢測應對硬件錯誤

  流式訪問數據

  移動計算比移動數據本身更劃算

  簡單一致性模型

  異構平臺可移植

  移動計算和移動數據
在學習大數據的時候接觸了移動數據和移動計算這兩種聯系緊密而又有很大不同的概念,
其中移動計算也叫做本地計算。在以前的數據處理中時使用的
移動數據,其實就是將需要處理的數據傳輸到存放不同處理數據方式邏輯的各個節點上。這樣做的效率很低,特別
是大數據中的數據量是很大的,至少都是GB以上,更大的是TB、PB甚至更大,而且磁盤I/O、網絡I/O的效率是很
低的,這樣處理起來就需要很長的時間,遠遠不能滿足我們的要求。而移動計算就出現了。
移動計算,也叫做本地計算,是數據就存放在節點上不再變動,而是將處理邏輯程序傳輸到各個數據節點上。由于
處理程序的大小肯定不會特別的大,這樣就可以實現很快將程序傳輸到存放數據的各個節點上去,然后本地執行處
理數據,效率高。現在的大數據處理技術都是采用這種方式。
HDFS模型例子:
班級中有這么多筆記本其實就可以組成一個集群是吧,然后隔壁班需要將文件存儲到筆記本中,一個一個進來隨便找
一個筆記本存儲,走了之后,過了一段時間,需要將文件取走,但是每一個人都不知道自己上傳到那個服務器上了,那么每
臺都需要找,,這樣一來操作的復雜度就高了,那么需要怎么改善這個問題?
犧牲一下,我的筆記本不存數據了,專門記錄存儲的的過程(NameNode),第一個人進來先找我,說我要存儲文件,然后我
說去第一臺電腦存吧,然后就去第一臺電腦存儲了,它在存儲文件的時候,上傳文件需要等幾分鐘,然后第二個人進來了,
也要存文件,然后我說你去第二臺電腦上存儲,那么我與存儲人之間的交互信息量大嗎?不大,是吧我的主要作用就是告
訴對方去哪存儲, 第一臺電腦在傳第二臺電腦也再傳,是不是同時在傳,那么這就相當于負載了,那么他們在上傳的時候
是獨立的資源,而不會去搶占資源.
問題:什么時候記錄這個存儲記錄?
是在一開始對話的時候我就記錄,還是在當他傳完數據后記錄?
一定是傳完數據后記錄,這是為了數據的一致性
上傳成功后,是上傳人員告訴我上傳成功還是電腦給發送信息上傳成功
一定是電腦發送信息上傳成功,因為只有電腦去認了上傳成功了有文件有記錄就OK
是不是很簡單,很輕松啊,要是早幾年聽是不是HDFS就是你開發的了 

  HDFS的特點

  優點:

  高可靠性:Hadoop按位存儲和處理數據的能力值得人們信賴;

  高擴展性:Hadoop是在可用的計算機集簇間分配數據并完成計算任務的,這些集簇可以方便地擴展到數以千計的節點中。

  高效性:Hadoop能夠在節點之間動態地移動數據,并保證各個節點的動態平衡,因此處理速度非常快。

  高容錯性:Hadoop能夠自動保存數據的多個副本,并且能夠自動將失敗的任務重新分配。

  缺點:

  不適合低延遲數據訪問。

  無法高效存儲大量小文件。

  不支持多用戶寫入及任意修改文件。

  1.4 hdfs核心設計思想及作用
  • 分而治之:將大文件、大批量文件,分布式存放在大量服務器上,以便于采取分而治之的方式對海量數據進行運算分析;

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

  • hdfs更具體描述

   首先,它是一個文件系統,用于存儲文件,通過統一的命名空間——目錄樹來定位文件

   其次,它是分布式的,由很多服務器聯合起來實現其功能,集群中的服務器有各自的角色;

  1.5 重要特性如下:

  HDFS中的文件在物理上是分塊存儲(block),塊的大小可以通過配置參數( dfs.blocksize)來規定,默認大小在hadoop2.x版本中是128M,老版本中是64M。

  HDFS文件系統會給客戶端提供一個統一的抽象目錄樹,客戶端通過路徑來訪問文件,形如:hdfs://namenode:port/dir-a/dir-b/dir-c/file.data。

  目錄結構及文件分塊信息(元數據)的管理由namenode節點承擔——namenode是HDFS集群主節點,負責維護整個hdfs文件系統的目錄樹,以及每一個路徑(文件)所對應的block塊信息(block的id,及所在的datanode服務器)。

  文件的各個block的存儲管理由datanode節點承擔--- datanode是HDFS集群從節點,每一個block都可以在多個datanode上存儲多個副本(副本數量也可以通過參數設置dfs.replication)。

  HDFS架構組成

HDFS基本概念有哪些

  NameNode(NN)

  基于內存存儲 :不會和磁盤發生交換只存在內存中

  這樣做的主要目的是為了快,但是內存存儲的一個通病就是掉電易失

  一旦斷電內存中存儲的數據就什么都沒有了,所以就需要持久化了(有點打臉了因為是需要到磁盤中的存儲)

  NameNode持久化

  NameNode的metadate信息在啟動后會加載到內存

  存儲到磁盤中有兩種方法:

  第一種:在某個時間點以類似于”拍快照”的形式將數據信息存儲到磁盤中

  metadata存儲到磁盤文件名為”fsimage”,Block的位置信息不會保存到fsimage

  若是回復,需要等待DataNode重新匯報信息Block每副本位置(由DataNode上報)

  第二種:以日志的方式生成文件edit log記錄對metadata的操作日志

  NameNode主要功能:

  接受客戶端的讀寫服務,收集DataNode匯報的Block列表信息

  NameNode保存metadata信息包括

  文件所屬權和權限,文件大小,時間(Block列表:Block偏移量),位置信息

  DataNode(DN)

  DataNode是Block真正存儲的地方。DataNode的本地磁盤以文件形式存儲著Block信息。同時還存儲著Block的元數據信息文件。 

  元數據主要存儲MD5值 用來進行驗證
HDFS在啟動時,DataNode會向NameNode匯報block的信息。 
DataNode通過向NameNode發送心跳保持與其聯系(3秒一次),如果NameNode 10分鐘沒有收到DataNode的心跳,則認為其已經lost,并復制其上的block到其它DataNode。

  SecondaryNameNode(SNN)

  初看名字,你可能會以為SecondaryNameNode是NameNode的備份,實際上,SecondaryNameNode的主要作用并不是這個,當然它也可以用來做備份。 
要了解SecondaryNameNode的作用,就不得不說一下HDFS的啟動過程。 
上面我們已經提到了兩個文件fsimage和edits。fsimage是當前HDFS系統的快照。edits記錄了對HDFS的各種操作日志。 

  假設:有一個集群跑了10年一點問題都沒有,fsimage是十年前的一個點,為了不影響性能,只記錄了一次,而edits一直在記錄日子,吧唧,服務器宕機了,重啟恢復,

  HDFS在啟動的時候,根據fsimage和edit log日志可以得到系統當前最新的狀態,并產生一個新的fsimage文件。這樣的啟動時很耗時間的。尤其是當edit log文件非常大的時候,合并會占用很多額外的時間。

以上是“HDFS基本概念有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临沧市| 昔阳县| 淮南市| 平江县| 河西区| 道孚县| 嘉黎县| 海城市| 普宁市| 马关县| 阜新| 九江县| 景洪市| 彰化市| 吉林省| 庆云县| 汶川县| 梓潼县| 新竹市| 兴海县| 师宗县| 龙里县| 都江堰市| 广元市| 长岛县| 灌南县| 三河市| 平塘县| 枣庄市| 彭阳县| 溧阳市| 西宁市| 尉氏县| 白朗县| 绥棱县| 天峨县| 奉贤区| 达州市| 盐池县| 和林格尔县| 三明市|