您好,登錄后才能下訂單哦!
這篇文章給大家介紹DFS簡介與Shell管理命令是什么,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
大數(shù)據(jù)領(lǐng)域一直面對的兩大核心模塊:數(shù)據(jù)存儲,數(shù)據(jù)計算,HDFS作為最重要的大數(shù)據(jù)存儲技術(shù),具有高度的容錯能力,穩(wěn)定而且可靠。HDFS(Hadoop-Distributed-File-System),它是一個分布式文件系統(tǒng),用于存儲文件,通過目錄樹來定位文件;設(shè)計初衷是管理數(shù)成百上千的服務(wù)器與磁盤,讓應(yīng)用程序像使用普通文件系統(tǒng)一樣存儲大規(guī)模的文件數(shù)據(jù),適合一次寫入,多次讀出的場景,且不支持文件的修改,適合做數(shù)據(jù)分析。
HDFS具有主/從體系結(jié)構(gòu),有兩個核心組件,NameNode與DataNode。
NameNode
負(fù)責(zé)文件系統(tǒng)的元數(shù)據(jù)(MetaData)管理,即文件路徑名、數(shù)據(jù)塊ID、存儲位置等信息,并配置副本策略,處理客戶端讀寫請求。
DataNode
執(zhí)行文件數(shù)據(jù)的實際存儲和讀寫操作,每個DataNode存儲一部分文件數(shù)據(jù)塊,文件整體分布存儲在整個HDFS服務(wù)器集群中。
Client
客戶端,文件切分上傳HDFS的時候,Client將文件切分成一個一個的Block,然后進(jìn)行上傳;從NameNode獲取文件的位置信息;與DataNode通信讀取或者寫入數(shù)據(jù); Client通過一些命令來訪問或管理HDFS。
Secondary-NameNode
不是NameNode的熱備,但是分擔(dān)NameNode工作量,比如定期合并Fsimage和Edits,并推送給NameNode;在緊急情況下,可輔助恢復(fù)NameNode。
數(shù)據(jù)塊多份復(fù)制存儲的示意,文件/users/sameerp/data/part-0,復(fù)制備份設(shè)置為2,存儲的block-ids分別為1、3;文件/users/sameerp/data/part-1,復(fù)制備份設(shè)置為3,存儲的block-ids分別為2、4、5;任何單臺服務(wù)器宕機(jī)后,每個數(shù)據(jù)塊至少還存在一個備份服務(wù)存活,不會影響對文件的訪問,提高整體容錯性。
HDFS中的文件在物理上是分塊存儲(Block),塊的大小可以通過參數(shù)dfs.blocksize來配置,塊設(shè)置太小,會增加尋址時間;塊設(shè)置的太大,從磁盤傳輸數(shù)據(jù)的時間會很慢,HDFS塊的大小設(shè)置主要取決于磁盤傳輸速率。
1、基礎(chǔ)命令
查看Hadoop下相關(guān)Shell操作命令。
[root@hop01 hadoop2.7]# bin/hadoop fs [root@hop01 hadoop2.7]# bin/hdfs dfs
dfs是fs的實現(xiàn)類
2、查看命令描述
[root@hop01 hadoop2.7]# hadoop fs -help ls
3、遞歸創(chuàng)建目錄
[root@hop01 hadoop2.7]# hadoop fs -mkdir -p /hopdir/myfile
4、查看目錄
[root@hop01 hadoop2.7]# hadoop fs -ls / [root@hop01 hadoop2.7]# hadoop fs -ls /hopdir
5、剪貼文件
hadoop fs -moveFromLocal /opt/hopfile/java.txt /hopdir/myfile ## 查看文件 hadoop fs -ls /hopdir/myfile
6、查看文件內(nèi)容
## 查看全部 hadoop fs -cat /hopdir/myfile/java.txt ## 查看末尾 hadoop fs -tail /hopdir/myfile/java.txt
7、追加文件內(nèi)容
hadoop fs -appendToFile /opt/hopfile/c++.txt /hopdir/myfile/java.txt
8、拷貝文件
copyFromLocal命令和put命令相同
hadoop fs -copyFromLocal /opt/hopfile/c++.txt /hopdir
9、HDFS文件拷貝到本地
hadoop fs -copyToLocal /hopdir/myfile/java.txt /opt/hopfile/
10、HDFS內(nèi)拷貝文件
hadoop fs -cp /hopdir/myfile/java.txt /hopdir
11、HDFS內(nèi)移動文件
hadoop fs -mv /hopdir/c++.txt /hopdir/myfile
12、合并下載多個文件
基礎(chǔ)命令get和copyToLocal命令效果相同。
hadoop fs -getmerge /hopdir/myfile/* /opt/merge.txt
13、刪除文件
hadoop fs -rm /hopdir/myfile/java.txt
14、查看文件夾信息
hadoop fs -du -s -h /hopdir/myfile
15、刪除文件夾
bin/hdfs dfs -rm -r /hopdir/file0703
關(guān)于DFS簡介與Shell管理命令是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。