Hadoop快速入門——第二章、分布式集群(第三節、HDFS Shell的常用命令)
Hadoop快速入門——第二章、分布式集群
HDFS概述:
在 2002 年,Google 發表的論文 GFS 中提到希望構建一個能夠運行于商業硬件集群上的以流式數據訪問形式存儲超大文件的文件系統,HDFS 就是為了實現這一目標
HDFS 的設計特點如下
超大文件
流式數據訪問
商用硬件
不能處理低時間延遲的數據訪問
不能存放大量小文件
無法高效實現多用戶寫入或者任意修改文件
在 HDFS 中有一些特殊的概念,需要特別重點的理解
數據塊:在普通的文件系統中,每個磁盤都有默認的數據塊,這是磁盤進行數據讀 / 寫的最小單位
NameNode:它是 Hadoop 的 HDFS 的核心組件,它維護著文件系統樹和整棵樹內所有的文件和目錄
DataNode: DataNode 是文件系統的工作節點,也就是數據節點,它根據存儲需要檢索數據塊,并定期向 NameNode 發送它所存儲的塊的列表
SecondNameNode: SecondNameNode 是對主 NameNode 的一個補充,它會周期地執行對 HDFS 元數據的檢查點
HDFS 的安全模式:在 NameNode 啟動時,首先將鏡像文件 fsimage 載入內存,并執行編輯日志 edits 中的各項操作
n數據完整性:在 Hadoop 系統中檢測數據完整性是一個常見的措施
常用命令:
hadoop?fs?-mkdir?
示例:
Mkdir:創建路徑中的各級父目錄(-p可以創建多級文件夾)
hadoop fs -mkdir -p /user/hadoop/test1
put:從本地文件系統中復制單個或多個源路徑到目標文件系統。
get:復制文件到本地文件系統
hadoop fs -get /home/data/save.log newSave.log
mv:移動文件
hadoop fs -mv /home/data/save.log /user/hadoop/newSave.log
cat:輸出文件內容
hadoop fs -cat /user/hadoop/newSave.log
ls:返回文件或目錄列表信息
hadoop?fs?-ls /user/hadoop/
ls -R:遞歸返回文件或目錄列表信息
hadoop fs -ls -R /user
touchz:創建一個 0 字節的空文件
hadoop fs -touchz /hello1.log hadoop fs -touchz /hello2.log hadoop fs -touchz /hello3.log hadoop fs -touchz /hello4.log hadoop fs -touchz /hello5.log
chown:改變文件的擁有者
vi test.sh
hadoop fs -put test.sh /home/test.sh hadoop fs -ls /home/
修改用戶,可以看到從【root】改為【hadoop】
hadoop fs -chown hadoop /home/test.sh hadoop fs -ls /home/
tail :將文件尾部 1K 字節的內容輸出
hadoop fs -tail /home/test.sh
rm -r:刪除指定的文件
hadoop fs -rm /home/test.sh
刪除后已經無法再次查看文件了。
Hadoop Shell 分布式
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。