真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Hadoop中HDFS的示例分析

這篇文章主要為大家展示了“Hadoop中HDFS的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Hadoop中HDFS的示例分析”這篇文章吧。

創(chuàng)新互聯(lián)建站主要從事成都做網(wǎng)站、成都網(wǎng)站設計、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務溫宿,十年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:028-86922220

        hadoop是一個適合大數(shù)據(jù)處理的分布式的存儲以及計算平臺,我個人感覺稱他為平臺是 非常貼切的,因為不管是hive、hbase等這類產(chǎn)品都是需要依賴hadoop的兩個核心hdfs和mapreduce。hdfs和mapreduce是hadoop平臺的基礎核心,其中hdfs是負責大數(shù)據(jù)的分布式存儲,而mapreduce是數(shù)據(jù)處理的計算框架。下面就開始記錄hdfs,mapreduce后面再記錄咯。

    對于HDFS,我個人感覺就是架構(gòu)在操作系統(tǒng)平臺上面的一個文件管理系統(tǒng),跟操作系統(tǒng)的文件系統(tǒng)不同的是他具有了對文件的自動的分布式管理的能力,不過這一切對于用戶來說都是透明的,比如我們向hdfs put一個文件時他會根據(jù)我們的設置對該文件產(chǎn)生replication,這里只是說他的分布式存儲,為了更適合大數(shù)據(jù)的處理,hdfs也有自己的機制。

    1.   安全模式

    當集群啟動的時候,默認進入安全模式。默認30秒會自動退出。

    在安全模式下,只能讀,不能寫。

    dfsadmin  -safemode  get|enter|leave 

    如果遇到集群剛剛啟動,就立刻執(zhí)行寫操作,系統(tǒng)會報錯。

    安全模式給了系統(tǒng)一個初始化的時間。

   2.   配額

    配額通常會在多用戶的情況下使用,就是給每個用戶設置一個目錄,并對目錄的元數(shù)據(jù)(大小、數(shù)量)信息做限制

    setQuota  限制某個目錄的文件(夾)的數(shù)量。

   clrQuota 取消

   setSpaceQuota 限制某個目錄的空間大小。

   clrSpaceQuota 取消

   hdfs dfs -count -q /lisi  查看配置設置的值

   3.   HDFS的體系結(jié)構(gòu)

    分布式的文件系統(tǒng),意味著數(shù)據(jù)存儲在很多節(jié)點上。 

    NameNode用來管理元數(shù)據(jù)本身。DataNode用來管理數(shù)據(jù)本身。

   4.   NameNode的體系結(jié)構(gòu)

    管理元數(shù)據(jù)的節(jié)點。管理著文件(夾)的元數(shù)據(jù),如權(quán)限、所有者、所在組、大小、最后訪問時間、最后修改時間、名稱、配額。 

    客戶端在訪問數(shù)據(jù)的時候,首先和NameNode打交道。元數(shù)據(jù)信息位于fsimage文件中,fsimage是hdfs狀態(tài)的體現(xiàn)。當集群啟動的時候,fsimage中的信息加載到內(nèi)存中。

    edits中保存的是操作日志。edits是hdfs 事務的體現(xiàn)。 

    在hdfs-site.xml中,配置dfs.namenode.name.dir的值,是多個都好分隔的目錄列表。fsimage內(nèi)容就會同時存儲在多個目錄中,實現(xiàn)數(shù)據(jù)安全。

    在hdfs-site.xml中,配置dfs.namenode.edits.dir的值,是${dfs.namenode.name.dir}。 

    如果機器宕機,以上方案就無效了。實現(xiàn)NameNode的HA功能。

    5.   DataNode的體系結(jié)構(gòu)

    實現(xiàn)數(shù)據(jù)的存儲。很多的節(jié)點,每個節(jié)點都是DataNode。 

    DataNode存儲數(shù)據(jù)的時候,都是以block形式存儲。

    block是DataNode存儲數(shù)據(jù)的基本單位,類似于快遞公司的包裹。

    為了節(jié)省空間,一般只會規(guī)定包裹的最大尺寸,不會規(guī)定標準尺寸,hdfs的block也是這個原理。block的最大尺寸是128MB,沒有最小尺寸。

    當一個12k的數(shù)據(jù)存放到一個block中時,該block只占用12k的磁盤物理空間。 

    在前面看fsimage的內(nèi)容時,發(fā)現(xiàn)每個文件都有block對應。fsimage的內(nèi)容在集群運行時,存放在內(nèi)存中。每個文件會產(chǎn)生至少一個block。當小文件非常多的時候,對Namenode節(jié)點的內(nèi)存產(chǎn)生什么影響?多耗費內(nèi)存,造成內(nèi)存壓力大。 所以hdfs不適合存儲大量的小文件

    當namenode -format命令執(zhí)行的時候,在namenode節(jié)點和datanode節(jié)點的VERSION中都會產(chǎn)生一個namespaceID值,并且這兩個值必須相同。如果再次執(zhí)行格式化,那么namenode會產(chǎn)生一個新的namespaceID,但是datanode不會產(chǎn)生新的值。

6.   讀寫數(shù)據(jù)

    讀寫與生活的舉例:去客戶現(xiàn)場解決問題,我(客戶端)需要去詢問項目經(jīng)理(namenode)客戶的地址等信息,項目經(jīng)理告訴我(block location等),我就可以去客戶現(xiàn)場,我告訴客戶解決了,客戶需要確認解決了才是真正的解決,我再去跟項目經(jīng)理報告。

    Hdfs的讀寫其實跟普通的文件系統(tǒng)讀寫基本上一樣,只是多了一個中間的注冊。就像我們單身的時候花錢自己怎么花都可以,但是結(jié)了婚就需要先通過媳婦那才可以咯

    Namenode維護者兩張表(從namenode源碼得知),一張是文件與block塊的映射(blockid,可以在fsimage文件中看到,存在本地磁盤),另一張是block塊和磁盤的映射(體現(xiàn)為inode,既是每一個塊與塊所在datanode磁盤的位置,在每次hdfs啟動時都要重新生成,其實就是每次啟動進入安全模式的時候datanode向namenode報告的塊信息)即:filename—blocksequence  block—node  前者是靜態(tài)的(一旦改變會影響數(shù)據(jù)的信息不對應) 后者是動態(tài)的(分布式情況下,節(jié)點宕機是常態(tài),則需要更新對應關系)

     Slaves文件只是在集群啟動的時候使得能夠一起啟動datanode節(jié)點,即使slaves文件不正常,也只是在啟動namenode時無法啟動datanode,手動啟動datanode時也是可以正常使用的,因為他們的vision文件中的namespaceID是相同的

以上是“Hadoop中HDFS的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)站名稱:Hadoop中HDFS的示例分析
本文地址:http://weahome.cn/article/jhgcjd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部