您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“HDFS優缺點有哪些”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“HDFS優缺點有哪些”這篇文章吧。
HDFS是一個分布式文件系統(由多臺服務器共同組成),用于存儲文件,通過目錄樹來定位文件。適合一次寫入,多次讀取,不支持文件的修改的場景,適合做數據分析,不適合做網盤應用。
優點:
高容錯性 ①通過增加副本的形式,提高容錯率。 ②某一個副本丟失以后,它可以自動恢復。 適合處理大數據 ①數據規模:能處理數據規模達TB、PB級別的數據。 ②文件規模:能處理百萬規模以上的文件數量。 可構建再廉價機器上,通過多副本機制來提高可靠性。
缺點:
訪問延遲高 對小文件的存儲效率低 僅支持數據append(追加),不支持并發寫和文件隨機修改
NameNode:用于管理元數據(對真實數據的描述信息),格式化之后,才會產生name目錄。 1. 用于管理HDFS名稱空間 2. 用于配置副本策略 3. 用于處理客戶端讀寫請求 4. 管理數據(Block)塊映射信息 5. 下達指令給DN DataNode:用于存儲真實塊數據信息,格式化之后,才會產生data目錄。 1. 執行數據塊的讀寫操作 SecondaryNameNode : 為NameNode分擔壓力, NameNode掛了的時候,輔助恢復NameNode上的元數據,會有一部分數據缺失(edits_inprocessg)。
①:HDFS中文件的存儲在物理上是分塊存儲(塊為單位),塊的大小可以通過dfs.blocksize設置,默認在hadoop3.x版本中是128M,hadoop2.x也是128M,hadoop1.x是64M。本地模式下(windows系統中)默認的塊大小是32M。 注意:128M只是衡量一個文件是否要進行切塊的標準,實際文件是多大,存儲到Hdfs上就是多大。 例如: 塊大小為128M 上傳一個100M的文件, 最后在HDFS會生成一個塊。實際占用空間還是100M而不是128M。 上傳一個200M的文件, 最后在HDFS會生成兩個塊, 第一個塊占用空間128M, 第二個塊占用空間72M。 ②:塊大小設置路徑:在hdfs-default.xml中 <property> <name>dfs.blocksize</name> <value>134217728</value> <description> 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). </description> </property> ③:為什么塊的大小不能設置太小,也不能設置太大? 設置太小,會增加尋址時間,程序一直找在塊的位置。 --比如設置10M,那么1000M的文件就分100個塊 設置太大,從磁盤讀取數據的時間會明顯大于定位塊位置所需的時間,導致程序在處理快數據時,速度變慢 總結:HDFS塊的大小設置主要取決于磁盤傳輸速率
①:啟動Hadoop集群 start-dfs.sh start-yarn.sh ②:-help:輸出這個命令參數 hdfs dfs -help rm ③:-ls: 顯示目錄信息 hadoop fs -ls / ④:-mkdir:在HDFS上創建目錄 hadoop fs -mkdir -p /user/swk ⑤:-moveFromLocal:從本地剪切粘貼到HDFS hdfs dfs -moveFromLocal ./input/test.txt /user/swk/input ⑥:-appendToFile:追加一個文件到已經存在的文件末尾 hdfs dfs -appendToFile ./input/test.txt /user/swk/input/wc.input.txt ⑦:-cat:顯示文件內容 hadoop fs -cat /user/swk/input/wc.input ⑧:-chgrp 、-chmod、-chown:Linux文件系統中的用法一樣,修改文件所屬權限 hdfs dfs -chmod 777 /user/swk/input/input/wc.input hadoop fs -chown swk:swk /user/swk/input/input/wc.input ⑨:-copyFromLocal:從本地文件系統中拷貝文件到HDFS hadoop fs -copyFromLocal README.txt / ⑩:-copyToLocal:從HDFS拷貝到本地 hdfs dfs -copyToLocal /user/swk/input/wc.input ./ ①:-cp :從HDFS的一個路徑拷貝到HDFS的另一個路徑 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:合并下載多個文件 hdfs dfs -getmerge /user/swk/input/* ./input.txt ⑤:-put:等同于copyFromLocal hadoop fs -put ./input/text.txt /user/swk/input/ ⑥:-tail:顯示一個文件的末尾 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統計文件夾的大小信息 hdfs dfs -du -s -h /user/swk/test ⑩:-setrep:設置HDFS中文件的副本數量 hdfs dfs -sdetrep 5 /README.txt 注意:這里設置的副本數只是記錄在NameNode的元數據中,是否真的會有這么多副本,還得看DataNode的數量。 --例如目前只有3臺設備,最多也就3個副本,只有節點數的增加到至少5臺時,副本數才能達到5,即服役一臺節點,會自動增加一份副本,直到副本數到達5。
--hadoop默認情況下開啟了權限檢查,且默認使用dir.who作為http訪問的靜態用戶,因此可通過關閉權限檢查或者配置http訪問的靜態用戶為自己Linux系統用戶。 配置core-site.xml,修改用戶權限
<!-- 修改用戶權限 --> <property> <name>hadoop.http.staticuser.user</name> <value>atguigu</value> </property>
或hdfs-site.xml中關閉權限檢查
<property> <name>dfs.permissions.enabled</name> <value>false</value> </property>
以上是“HDFS優缺點有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。