這篇文章主要為大家展示了“HDFS優(yōu)缺點(diǎn)有哪些”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“HDFS優(yōu)缺點(diǎn)有哪些”這篇文章吧。
秀峰網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),秀峰網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為秀峰數(shù)千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請找那個(gè)售后服務(wù)好的秀峰做網(wǎng)站的公司定做!
HDFS是一個(gè)分布式文件系統(tǒng)(由多臺服務(wù)器共同組成),用于存儲文件,通過目錄樹來定位文件。適合一次寫入,多次讀取,不支持文件的修改的場景,適合做數(shù)據(jù)分析,不適合做網(wǎng)盤應(yīng)用。
優(yōu)點(diǎn):
高容錯(cuò)性 ①通過增加副本的形式,提高容錯(cuò)率。 ②某一個(gè)副本丟失以后,它可以自動恢復(fù)。 適合處理大數(shù)據(jù) ①數(shù)據(jù)規(guī)模:能處理數(shù)據(jù)規(guī)模達(dá)TB、PB級別的數(shù)據(jù)。 ②文件規(guī)模:能處理百萬規(guī)模以上的文件數(shù)量。 可構(gòu)建再廉價(jià)機(jī)器上,通過多副本機(jī)制來提高可靠性。
缺點(diǎn):
訪問延遲高 對小文件的存儲效率低 僅支持?jǐn)?shù)據(jù)append(追加),不支持并發(fā)寫和文件隨機(jī)修改
NameNode:用于管理元數(shù)據(jù)(對真實(shí)數(shù)據(jù)的描述信息),格式化之后,才會產(chǎn)生name目錄。 1. 用于管理HDFS名稱空間 2. 用于配置副本策略 3. 用于處理客戶端讀寫請求 4. 管理數(shù)據(jù)(Block)塊映射信息 5. 下達(dá)指令給DN DataNode:用于存儲真實(shí)塊數(shù)據(jù)信息,格式化之后,才會產(chǎn)生data目錄。 1. 執(zhí)行數(shù)據(jù)塊的讀寫操作 SecondaryNameNode : 為NameNode分擔(dān)壓力, NameNode掛了的時(shí)候,輔助恢復(fù)NameNode上的元數(shù)據(jù),會有一部分?jǐn)?shù)據(jù)缺失(edits_inprocessg)。
①:HDFS中文件的存儲在物理上是分塊存儲(塊為單位),塊的大小可以通過dfs.blocksize設(shè)置,默認(rèn)在hadoop3.x版本中是128M,hadoop2.x也是128M,hadoop1.x是64M。本地模式下(windows系統(tǒng)中)默認(rèn)的塊大小是32M。 注意:128M只是衡量一個(gè)文件是否要進(jìn)行切塊的標(biāo)準(zhǔn),實(shí)際文件是多大,存儲到Hdfs上就是多大。 例如: 塊大小為128M 上傳一個(gè)100M的文件, 最后在HDFS會生成一個(gè)塊。實(shí)際占用空間還是100M而不是128M。 上傳一個(gè)200M的文件, 最后在HDFS會生成兩個(gè)塊, 第一個(gè)塊占用空間128M, 第二個(gè)塊占用空間72M。 ②:塊大小設(shè)置路徑:在hdfs-default.xml中③:為什么塊的大小不能設(shè)置太小,也不能設(shè)置太大? 設(shè)置太小,會增加尋址時(shí)間,程序一直找在塊的位置。 --比如設(shè)置10M,那么1000M的文件就分100個(gè)塊 設(shè)置太大,從磁盤讀取數(shù)據(jù)的時(shí)間會明顯大于定位塊位置所需的時(shí)間,導(dǎo)致程序在處理快數(shù)據(jù)時(shí),速度變慢 總結(jié):HDFS塊的大小設(shè)置主要取決于磁盤傳輸速率 dfs.blocksize 134217728 The default block size for new files, in bytes. You can use the following suffix (case insensitive): k(kilo), m(mega), g(giga), t(tera), p(peta), e(exa) to specify the size (such as 128k, 512m, 1g, etc.), Or provide complete size in bytes (such as 134217728 for 128 MB).
①:啟動Hadoop集群 start-dfs.sh start-yarn.sh ②:-help:輸出這個(gè)命令參數(shù) hdfs dfs -help rm ③:-ls: 顯示目錄信息 hadoop fs -ls / ④:-mkdir:在HDFS上創(chuàng)建目錄 hadoop fs -mkdir -p /user/swk ⑤:-moveFromLocal:從本地剪切粘貼到HDFS hdfs dfs -moveFromLocal ./input/test.txt /user/swk/input ⑥:-appendToFile:追加一個(gè)文件到已經(jīng)存在的文件末尾 hdfs dfs -appendToFile ./input/test.txt /user/swk/input/wc.input.txt ⑦:-cat:顯示文件內(nèi)容 hadoop fs -cat /user/swk/input/wc.input ⑧:-chgrp 、-chmod、-chown:Linux文件系統(tǒng)中的用法一樣,修改文件所屬權(quán)限 hdfs dfs -chmod 777 /user/swk/input/input/wc.input hadoop fs -chown swk:swk /user/swk/input/input/wc.input ⑨:-copyFromLocal:從本地文件系統(tǒng)中拷貝文件到HDFS hadoop fs -copyFromLocal README.txt / ⑩:-copyToLocal:從HDFS拷貝到本地 hdfs dfs -copyToLocal /user/swk/input/wc.input ./ ①:-cp :從HDFS的一個(gè)路徑拷貝到HDFS的另一個(gè)路徑 hdfs dfs -cp /user/swk/input/wc.input /user/swk/ ②:-mv:在HDFS目錄中移動文件 hadoop fs -mv /user/swk/input /user/ ③:-get:等同于copyToLocal,就是從HDFS下載文件到本地 hadoop fs -get /user/swk/input/wc.input ./ ④:-getmerge:合并下載多個(gè)文件 hdfs dfs -getmerge /user/swk/input/* ./input.txt ⑤:-put:等同于copyFromLocal hadoop fs -put ./input/text.txt /user/swk/input/ ⑥:-tail:顯示一個(gè)文件的末尾 hadoop fs -tail /user/swk/input/wc.input ⑦:-rm:刪除文件或文件夾 hadoop fs -rm -r /user/swk/input/wc.input ⑧:-rmdir:刪除空目錄 hdfs dfs -rmdir /user/swk/wcinput ⑨:-du統(tǒng)計(jì)文件夾的大小信息 hdfs dfs -du -s -h /user/swk/test ⑩:-setrep:設(shè)置HDFS中文件的副本數(shù)量 hdfs dfs -sdetrep 5 /README.txt 注意:這里設(shè)置的副本數(shù)只是記錄在NameNode的元數(shù)據(jù)中,是否真的會有這么多副本,還得看DataNode的數(shù)量。 --例如目前只有3臺設(shè)備,最多也就3個(gè)副本,只有節(jié)點(diǎn)數(shù)的增加到至少5臺時(shí),副本數(shù)才能達(dá)到5,即服役一臺節(jié)點(diǎn),會自動增加一份副本,直到副本數(shù)到達(dá)5。
--hadoop默認(rèn)情況下開啟了權(quán)限檢查,且默認(rèn)使用dir.who作為http訪問的靜態(tài)用戶,因此可通過關(guān)閉權(quán)限檢查或者配置http訪問的靜態(tài)用戶為自己Linux系統(tǒng)用戶。 配置core-site.xml,修改用戶權(quán)限
hadoop.http.staticuser.user atguigu
或hdfs-site.xml中關(guān)閉權(quán)限檢查
dfs.permissions.enabled false
以上是“HDFS優(yōu)缺點(diǎn)有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!