国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Hadoop:HDFS--分布式文件存儲系統(tǒng)

這篇具有很好參考價值的文章主要介紹了Hadoop:HDFS--分布式文件存儲系統(tǒng)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

?

HDFS的基礎(chǔ)架構(gòu)

VMware虛擬機部署HDFS集群

HDFS集群啟停命令

HDFS Shell操作

hadoop 命令體系:

創(chuàng)建文件夾 -mkdir

?查看目錄內(nèi)容 -ls

?上傳文件到hdfs -put

查看HDFS文件內(nèi)容 -cat

下載HDFS文件 -get

復(fù)制HDFS文件 -cp

追加數(shù)據(jù)到HDFS文件中 -appendToFile

HDFS文件移動 -mv

?刪除HDFS文件 -rm

?HDFS存儲原理

存儲原理

?修改副本數(shù)量

fsck檢查文件副本狀態(tài)

NameNode元數(shù)據(jù)

edits和fsimage文件

元數(shù)據(jù)合并參數(shù)

?SecondaryNameNode的作用

HDFS數(shù)據(jù)的讀寫請求


HDFS的基礎(chǔ)架構(gòu)

Hadoop由三個部分組成,分別是HDFS、MapReduce和yarn:

Hadoop:HDFS--分布式文件存儲系統(tǒng),Hadoop,linux,服務(wù)器,hadoop,分布式

HDFS由三個角色,主角色、從角色、主角色輔助角色:

Hadoop:HDFS--分布式文件存儲系統(tǒng),Hadoop,linux,服務(wù)器,hadoop,分布式

NameNode

  • HDFS系統(tǒng)的主角色,是一個獨立的進程
  • 負責管理HDFS整個文件系統(tǒng)
  • 負責管理DataNode

SecondaryNameNode

  • NameNode的輔助,是一個獨立進程
  • 主要幫助NameNode完成元數(shù)據(jù)整理工作

DataNode

  • HDFS系統(tǒng)的從角色,是一個獨立進程
  • 主要負責數(shù)據(jù)的存儲,即存入數(shù)據(jù)和取出數(shù)據(jù)

VMware虛擬機部署HDFS集群

第二章-04-[實操]VMware虛擬機部署HDFS集群_嗶哩嗶哩_bilibili

HDFS集群啟停命令

? $HADOOP_HOME/sbin/start-dfs.sh ,一鍵啟動 HDFS 集群

執(zhí)行原理:

? 在執(zhí)行此腳本的機器上,啟動 SecondaryNameNode
? 讀取 core-site.xml 內(nèi)容(fs.defaultFS項),確認 NameNode 所在機器,啟動 NameNode
? 讀取 workers 內(nèi)容,確認 DataNode 所在機器,啟動全部 DataNode
?$HADOOP_HOME/sbin/stop-dfs.sh ,一鍵關(guān)閉 HDFS 集群

執(zhí)行原理:

? 在執(zhí)行此腳本的機器上,關(guān)閉SecondaryNameNode
? 讀取core-site.xml內(nèi)容(fs.defaultFS項),確認NameNode所在機器,關(guān)閉NameNode
? 讀取workers內(nèi)容,確認DataNode所在機器,關(guān)閉全部NameNode

? ? ? $HADOOP_HOME/sbin/hadoop-daemon.sh,此腳本可以單獨控制所在機器的進程的啟停

用法:hadoop-daemon.sh (start|status|stop) (namenode|secondarynamenode|datanode)

或者?hdfs --daemon (start|status|stop) (namenode|secondarynamenode|datanode)

HDFS Shell操作

hadoop 命令體系:

hadoop fs [generic options]? 或者 hdfs dfs? [generic options]

沒有任何區(qū)別

創(chuàng)建文件夾 -mkdir

hdfs dfs -mkdir [-p] <path> 

?查看目錄內(nèi)容 -ls

清測-ll等是不可行的?

hdfs dfs -ls [-h] [-R] [<path> ...] 

? -h 人性化顯示文件???-R 遞歸查看指定目錄及其子目錄

?上傳文件到hdfs -put

hdfs dfs -put [-f] [-p] <localsrc> ... <dst>
  • -f 覆蓋目標文件(已存在下)
  • -p 保留訪問和修改時間,所有權(quán)和權(quán)限
  • ? localsrc 本地文件系統(tǒng)(客戶端所在機器)
  • ? dst 目標文件系統(tǒng)(HDFS
  • 查看HDFS文件內(nèi)容 -cat

  • hdfs dfs -cat <src> ...
    

    當文件很大時,可以配合more翻頁

  • hdfs dfs -cat <src> | more
    

    下載HDFS文件 -get

  • hdfs dfs -get [-f] [-p] <src> ... <localdst>
    

    下載文件到本地文件系統(tǒng)指定目錄,localdst必須是目錄

    ??????? -f 覆蓋目標文件(已存在下)

    ??????? -p 保留訪問和修改時間,所有權(quán)和權(quán)限。

  • 復(fù)制HDFS文件 -cp

  • hdfs dfs -cp [-f] <src> ... <dst>
    

    src和dst都只能是hdfs的文件路徑

  • 追加數(shù)據(jù)到HDFS文件中 -appendToFile

  • HDFS的文件修改只支持追加刪除

  • hdfs dfs -appendToFile <localsrc> ... <dst>
    

    將localsrc的內(nèi)容追加到dst

  • HDFS文件移動 -mv

  • hdfs dfs -mv <src> ... <dst>

    ??????? 移動文件到指定文件夾下,可以使用該命令移動數(shù)據(jù),重命名文件的名稱

  • ?刪除HDFS文件 -rm

  • hdfs dfs -rm -r [-skipTrash] URI [URI ...]

    刪除指定路徑的文件或文件夾? ? ? -skipTrash 跳過回收站,直接刪除

  • 回收站功能默認關(guān)閉,如果要開啟需要在core-site.xml內(nèi)配置:

    <property>

    <name>fs.trash.interval</name>

    <value>1440</value>

    </property>

    <property>

    <name>fs.trash.checkpoint.interval</name>

    <value>120</value>

    </property>

    無需重啟集群,在哪個機器配置的,在哪個機器執(zhí)行命令就生效。

    回收站默認位置在:/user/用戶名(hadoop)/.Trash

  • 其他的一些用法跟linux里面是基本一致的

  • ?HDFS存儲原理

  • 存儲原理

  • 將每個文件分成n(n個服務(wù)器)份,每一份又分成m個block(Block塊,HDFS最小存儲單位,每個256MB(可以修改))
  • 分成block的目的是統(tǒng)一hdfs的存儲單元,便于管理
  • Hadoop:HDFS--分布式文件存儲系統(tǒng),Hadoop,linux,服務(wù)器,hadoop,分布式Hadoop:HDFS--分布式文件存儲系統(tǒng),Hadoop,linux,服務(wù)器,hadoop,分布式

但是這樣如果丟了一個block,那么整個文件都會失效,那么 使用備份解決

將每個block備份n份,放入不同的服務(wù)器

Hadoop:HDFS--分布式文件存儲系統(tǒng),Hadoop,linux,服務(wù)器,hadoop,分布式Hadoop:HDFS--分布式文件存儲系統(tǒng),Hadoop,linux,服務(wù)器,hadoop,分布式

?修改副本數(shù)量

可以在hdfs-site.xml中配置屬性以設(shè)置默認文件上傳到HDFS中擁有的副本數(shù)量:

<property>
    <name>dfs.replication</name>
    <value>3</value>
</property>

一般不需要設(shè)置,默認是3

除了配置文件外,我們還可以在上傳文件的時候,臨時決定被上傳文件以多少個副本存儲。

hadoop fs -D dfs.replication=2 -put test.txt /tmp/

如上命令,就可以在上傳test.txt的時候,臨時設(shè)置其副本數(shù)為2

對于已經(jīng)存在HDFS的文件,修改dfs.replication屬性不會生效,如果要修改已存在文件可以通過命令

hadoop fs -setrep [-R] 2 path

如上命令,指定path的內(nèi)容將會被修改為2個副本存儲。-R選項可選,使用-R表示對子目錄也生效。

fsck檢查文件副本狀態(tài)

hdfs fsck path [-files [-blocks [-locations]]]

fsck可以檢查指定路徑是否正常

  • -files可以列出路徑內(nèi)的文件狀態(tài)
  • -files -blocks? 輸出文件塊報告(有幾個塊,多少副本
  • -files -blocks -locations 輸出每一個block的詳情

?Hadoop:HDFS--分布式文件存儲系統(tǒng),Hadoop,linux,服務(wù)器,hadoop,分布式

紅色線表示副本數(shù)量(這里是總的數(shù)量,也就是總共3個block)?

藍色的是三個block存放的位置,可以看到是存放在了三個不同的服務(wù)器

Hadoop:HDFS--分布式文件存儲系統(tǒng),Hadoop,linux,服務(wù)器,hadoop,分布式

0:hdfs系統(tǒng)的狀態(tài)? 1:有多少個副本? 2:丟失了多少blocks

NameNode元數(shù)據(jù)

edits和fsimage文件

Hadoop是通過NameNode來記錄和整理文件和block的關(guān)系

NameNode基于一批edits和一個fsimage文件的配合完成整個文件系統(tǒng)的管理和維護

edits文件,是一個流水賬文件,記錄了hdfs中的每一次操作,以及本次操作影響的文件其對應(yīng)的block,會有多個edits文件

Hadoop:HDFS--分布式文件存儲系統(tǒng),Hadoop,linux,服務(wù)器,hadoop,分布式

將全部的edits文件,合并為最終結(jié)果,即可得到一個Fsimage文件

Hadoop:HDFS--分布式文件存儲系統(tǒng),Hadoop,linux,服務(wù)器,hadoop,分布式

對于存放的位置,在hdfs-site.xml文件中,配置了

  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/data/dn</value>
  </property>

那么此處的edits和fsimage就存放在了data/nn文件夾下的current文件夾

元數(shù)據(jù)合并參數(shù)

對于元數(shù)據(jù)合并成fsimage,是一個定時過程,基于兩個參數(shù)

dfs.namenode.checkpoint.period,默認3600(秒)即1小時
dfs.namenode.checkpoint.txns,默認1000000,即100W次事務(wù)

只需要達到一個條件就需要合并

默認60秒檢查一次是否符合條件,基于

dfs.namenode.checkpoint.check.period,默認60(秒),來決定

?SecondaryNameNode的作用

SecondaryNameNode會通過httpNameNode拉取數(shù)據(jù)(editsfsimage)然后合并完成后提供給NameNode使用

HDFS數(shù)據(jù)的讀寫請求

數(shù)據(jù)寫入流程文章來源地址http://www.zghlxwxcb.cn/news/detail-699356.html

  1. 1. 客戶端向NameNode發(fā)起請求
  2. 2. NameNode審核權(quán)限、剩余空間后,滿足條件允許寫入,并告知客戶端寫入的DataNode地址(一般來說會分配網(wǎng)絡(luò)距離最近的datanode)
  3. 3. 客戶端向指定的DataNode發(fā)送數(shù)據(jù)包
  4. 4. 被寫入數(shù)據(jù)的DataNode同時完成數(shù)據(jù)副本的復(fù)制工作,將其接收的數(shù)據(jù)分發(fā)給其它DataNode
  5. 5. 寫入完成客戶端通知NameNodeNameNode做元數(shù)據(jù)記錄工作
  6. 數(shù)據(jù)讀取流程
  7. 1、客戶端向NameNode申請讀取某文件
  8. 2、 NameNode判斷客戶端權(quán)限等細節(jié)后,允許讀取,并返回此文件的block列表
  9. 3、客戶端拿到block列表后自行尋找DataNode讀取即可(會去找最近的datanode)

到了這里,關(guān)于Hadoop:HDFS--分布式文件存儲系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • hadoop-hdfs分布式文件系統(tǒng)理論(一)

    hadoop-hdfs分布式文件系統(tǒng)理論(一)

    可以更好的支持分布式計算。 hadoop distribute file system是一個分布式 文件系統(tǒng),操作的是文件,增、刪都是以文件為單位。 文件線性按字節(jié)切割成塊(block),具有offset,id offset是指block的偏移量,比如block大小是10,offset可以是0,10,20,30。。。 id是block的名稱,比如block1,block

    2024年02月11日
    瀏覽(41)
  • Hadoop HDFS分布式文件系統(tǒng)(介紹以及基礎(chǔ)操作命令)

    Hadoop HDFS分布式文件系統(tǒng)(介紹以及基礎(chǔ)操作命令)

    目錄 一、為什么需要分布式存儲? 二、分布式的基礎(chǔ)架構(gòu)分析 ?三、HDFS基礎(chǔ)架構(gòu) 1.HDFS簡介 四、HDFS集群啟停命令 1.一鍵啟停腳本 2.單進程啟停 五、HDFS基本操作命令 1.創(chuàng)建文件夾 ?2.查看指定目錄下內(nèi)容? 3.上傳文件到HDFS指定目錄下 ?4.查看HDFS文件內(nèi)容 5.下載HDFS文件 ?6.拷貝

    2024年02月05日
    瀏覽(166)
  • Hadoop大數(shù)據(jù)從入門到實戰(zhàn)(二)分布式文件系統(tǒng)HDFS

    Hadoop大數(shù)據(jù)從入門到實戰(zhàn)(二)分布式文件系統(tǒng)HDFS

    頭歌實踐教學平臺 教學課堂 大數(shù)據(jù)從入門到實戰(zhàn) - 第2章 分布式文件系統(tǒng)HDFS 任務(wù)描述 本關(guān)任務(wù):使用 Hadoop 命令來操作分布式文件系統(tǒng)。 編程要求 在右側(cè)命令行中啟動 Hadoop ,進行如下操作。 在 HDFS 中創(chuàng)建 /usr/output/ 文件夾; 在本地創(chuàng)建 hello.txt 文件并添加內(nèi)容:“ HDFS的

    2024年02月12日
    瀏覽(18)
  • 大數(shù)據(jù)技術(shù)原理與應(yīng)用 概念、存儲、處理、分析和應(yīng)用(林子雨)——第三章 分布式文件系統(tǒng)HDFS

    大數(shù)據(jù)技術(shù)原理與應(yīng)用 概念、存儲、處理、分析和應(yīng)用(林子雨)——第三章 分布式文件系統(tǒng)HDFS

    大數(shù)據(jù)要解決數(shù)據(jù)存儲問題,所以有了分布式文件系統(tǒng)(DFS),但可能不符合當時的一些應(yīng)用需求,于是谷歌公司開發(fā)了GFS(Google file System)。GFS是閉源的,而HDFS是對GFS的開源實現(xiàn)。 1.GFS和DFS有什么區(qū)別? GFS(Google File System)和DFS(Distributed File System)都是分布式文件系統(tǒng),

    2024年02月03日
    瀏覽(99)
  • 分布式文件系統(tǒng)HDFS

    分布式文件系統(tǒng)HDFS

    分布式文件系統(tǒng) 把文件分布存儲到多個計算機節(jié)點 上,通過網(wǎng)絡(luò)實現(xiàn)文件在多臺主機上進行分布式存儲的文件系統(tǒng)。 分布式文件系統(tǒng)有兩大模式: Remote Access Model: 非本地文件不會復(fù)制到本地,所以對非本地文件的讀取和修改,利用RPC進行。 Upload/ Download Model:所有非本地文

    2024年02月09日
    瀏覽(20)
  • 2. 分布式文件系統(tǒng) HDFS

    2. 分布式文件系統(tǒng) HDFS

    問題一:如果一個文件中有 10 個數(shù)值,一行一個,并且都可以用 int 來度量。現(xiàn)在求 10 個數(shù)值的和 思路: 逐行讀取文件的內(nèi)容 把讀取到的內(nèi)容轉(zhuǎn)換成 int 類型 把轉(zhuǎn)換后的數(shù)據(jù)進行相加 輸出最后的一個累加和 問題二:10000 個文件,每個文件 2T,文件里的內(nèi)容依然是每行一個

    2024年02月08日
    瀏覽(22)
  • 大數(shù)據(jù)——HDFS(分布式文件系統(tǒng))

    大數(shù)據(jù)——HDFS(分布式文件系統(tǒng))

    Hadoop的兩大核心組件 HDFS ( Hadoop Distributed Filesystem ):是一個易于擴展的 分布式文件系統(tǒng) ,運行在 成百上千 臺 低成本 的 機器 上。 HDFS 具有 高度容錯能力 ,旨在部署在低成本機器上。 HDFS 主要用于對 海量文件信息 進行 存儲 和 管理 ,也就是解決大數(shù)據(jù)文件(如 TB 乃至

    2023年04月17日
    瀏覽(28)
  • 頭歌 分布式文件系統(tǒng)HDFS 答案

    頭歌 分布式文件系統(tǒng)HDFS 答案

    第1關(guān):HDFS的基本操作 在右側(cè)命令行中啟動 Hadoop ,進行如下操作。 在 HDFS 中創(chuàng)建 /usr/output/ 文件夾; 在本地創(chuàng)建 hello.txt 文件并添加內(nèi)容:“ HDFS的塊比磁盤的塊大,其目的是為了最小化尋址開銷。 ”; 將 hello.txt 上傳至 HDFS 的 /usr/output/ 目錄下; 刪除 HDFS 的 /user/hadoop 目錄

    2023年04月27日
    瀏覽(22)
  • 【頭歌實訓】分布式文件系統(tǒng) HDFS

    【頭歌實訓】分布式文件系統(tǒng) HDFS

    本關(guān)任務(wù):使用 Hadoop 命令來操作分布式文件系統(tǒng)。 為了完成本關(guān)任務(wù)你需要了解的知識有:1. HDFS 的設(shè)計,2. HDFS 常用命令。 HDFS的設(shè)計 分布式文件系統(tǒng) 客戶:幫我保存一下這幾天的數(shù)據(jù)。 程序猿:好嘞,有多大呢? 客戶: 1T 。 程序猿:好沒問題,買個硬盤就搞定了。

    2024年04月15日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包