成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Hadoop 學習總結 :HDFS概念及其用法

開發 架構 Hadoop
Hadoop相信大家應該有所了解,這里向大家介紹一下Hadoop 學習總結之一:HDFS方面的知識,希望通過本節的介紹大家對HDFS有初步的了解。

本節向大家描述一下Hadoop 學習總結中HDFS的內容,主要有HDFS概念和數據流兩部分內容,歡迎大家一起來學習,相信通過本節的介紹大家對HDFS方面的知識有一定的認識。

Hadoop 學習總結之一:HDFS簡介

一、HDFS的基本概念

1.1、數據塊(block)
Hadoop 學習總結中HDFS(Hadoop Distributed File System)默認的最基本的存儲單位是64M的數據塊。
和普通文件系統相同的是,HDFS中的文件是被分成64M一塊的數據塊存儲的。
不同于普通文件系統的是,HDFS中,如果一個文件小于一個數據塊的大小,并不占用整個數據塊存儲空間。

1.2、元數據節點(Namenode)和數據節點(datanode)
元數據節點用來管理文件系統的命名空間
其將所有的文件和文件夾的元數據保存在一個文件系統樹中。
這些信息也會在硬盤上保存成以下文件:命名空間鏡像(namespace image)及修改日志(edit log)
其還保存了一個文件包括哪些數據塊,分布在哪些數據節點上。然而這些信息并不存儲在硬盤上,而是在系統啟動的時候從數據節點收集而成的。
數據節點是文件系統中真正存儲數據的地方。

客戶端(client)或者元數據信息(namenode)可以向數據節點請求寫入或者讀出數據塊。
其周期性的向元數據節點回報其存儲的數據塊信息。
從元數據節點(secondary namenode)
從元數據節點并不是元數據節點出現問題時候的備用節點,它和元數據節點負責不同的事情。
其主要功能就是周期性將元數據節點的命名空間鏡像文件和修改日志合并,以防日志文件過大。這點在下面會相信敘述。
合并過后的命名空間鏡像文件也在從元數據節點保存了一份,以防元數據節點失敗的時候,可以恢復。

二、數據流(data flow)

2.1、讀文件的過程

首先看一下Hadoop 學習總結中關于數據流讀取文件過程介紹。客戶端(client)用FileSystem的open()函數打開文件
DistributedFileSystem用RPC調用元數據節點,得到文件的數據塊信息。
對于每一個數據塊,元數據節點返回保存數據塊的數據節點的地址。
DistributedFileSystem返回FSDataInputStream給客戶端,用來讀取數據。

客戶端調用stream的read()函數開始讀取數據。
DFSInputStream連接保存此文件第一個數據塊的最近的數據節點。
Data從數據節點讀到客戶端(client)
當此數據塊讀取完畢時,DFSInputStream關閉和此數據節點的連接,然后連接此文件下一個數據塊的最近的數據節點。
當客戶端讀取完畢數據的時候,調用FSDataInputStream的close函數。
在讀取數據的過程中,如果客戶端在與數據節點通信出現錯誤,則嘗試連接包含此數據塊的下一個數據節點。
失敗的數據節點將被記錄,以后不再連接。

2.2、寫文件的過程

再來看一下Hadoop 學習總結中關于數據流寫文件的過程。客戶端調用create()來創建文件
istributedFileSystem用RPC調用元數據節點,在文件系統的命名空間中創建一個新的文件。
元數據節點首先確定文件原來不存在,并且客戶端有創建文件的權限,然后創建新文件。
DistributedFileSystem返回DFSOutputStream,客戶端用于寫數據。

客戶端開始寫入數據,DFSOutputStream將數據分成塊,寫入data queue。
Data queue由Data Streamer讀取,并通知元數據節點分配數據節點,用來存儲數據塊(每塊默認復制3塊)。分配的數據節點放在一個pipeline里。
Data Streamer將數據塊寫入pipeline中的第一個數據節點。第一個數據節點將數據塊發送給第二個數據節點。第二個數據節點將數據發送給第三個數據節點。
DFSOutputStream為發出去的數據塊保存了ack queue,等待pipeline中的數據節點告知數據已經寫入成功。

如果數據節點在寫入的過程中失敗:
關閉pipeline,將ack queue中的數據塊放入data queue的開始。
當前的數據塊在已經寫入的數據節點中被元數據節點賦予新的標示,則錯誤節點重啟后能夠察覺其數據塊是過時的,會被刪除。
失敗的數據節點從pipeline中移除,另外的數據塊則寫入pipeline中的另外兩個數據節點。
元數據節點則被通知此數據塊是復制塊數不足,將來會再創建第三份備份。
當客戶端結束寫入數據,則調用stream的close函數。此操作將所有的數據塊寫入pipeline中的數據節點,并等待ack queue返回成功。最后通知元數據節點寫入完畢。本節關于Hadoop 學習總結中HDFS概念介紹完畢。
 

【編輯推薦】

  1. 實例講解Hadoop用法
  2. 技術分享 Hadoop集群搭建方法
  3. Hadoop文件系統如何快速安裝?
  4. Hadoop集群搭建過程中相關環境配置詳解
  5. Hadoop完全分布模式安裝實現詳解

 

 

責任編輯:佚名 來源: fengfly.com
相關推薦

2010-06-03 18:32:51

Hadoop

2010-08-24 09:52:55

DIV標簽

2017-06-15 13:15:39

Python協程

2010-10-08 14:54:22

JavaScript特

2010-08-23 16:23:53

CSS+DIV

2010-09-14 09:41:56

DIV技術DIV標簽

2009-10-22 17:15:51

linux gcc

2010-07-09 15:13:42

UML對象圖

2010-06-02 20:07:39

SVN管理系統

2009-07-31 09:32:04

ASP.NET緩存概念ASP.NET緩存應用

2010-08-27 13:46:58

DIV+CSS

2009-08-28 16:48:50

C#多態性

2022-05-18 23:42:08

網絡安全安全分析工具

2010-07-09 15:53:36

UML類圖

2021-03-08 08:54:12

驅動模型DTODO

2020-06-03 15:35:10

數據挖掘算法大數據

2010-08-30 14:27:06

CSS樣式表

2021-12-07 08:00:00

安全零點擊攻擊漏洞

2015-05-25 19:13:13

KPI開發者

2009-08-25 18:16:02

.NET Framew.NET Framew
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产成人精品网站 | 亚洲 91| 精品99在线 | 国产h在线 | 日韩三片| 欧美精品被 | 国产日产精品一区二区三区四区 | 欧美一区二区在线 | 91久久久www播放日本观看 | 91视频进入 | 亚洲成人综合社区 | 国产精品久久久乱弄 | 91综合在线观看 | 在线观看中文字幕亚洲 | 视频一区二区在线观看 | 在线观看av不卡 | 久久i | 精久久久久 | 在线观看深夜视频 | 羞羞视频在线网站观看 | 欧美一级久久精品 | 久久狠狠 | 国产成人av电影 | 国产中文视频 | 免费一区二区三区 | 免费特黄视频 | 精品视频999 | 久久久久午夜 | 亚洲色图综合网 | 亚洲二区视频 | 国产精品日韩在线观看 | 天天草天天操 | 男女在线免费观看 | 欧美精品一区二区三区蜜桃视频 | 欧美日韩高清一区二区三区 | 国产成人综合一区二区三区 | 成人精品免费视频 | 国产ts人妖系列高潮 | 中文字幕在线视频观看 | 国产欧美日韩一区二区三区 | 在线日韩欧美 |