目錄
一、為什么需要分布式存儲(chǔ)?
二、分布式的基礎(chǔ)架構(gòu)分析
?三、HDFS基礎(chǔ)架構(gòu)
1.HDFS簡(jiǎn)介
四、HDFS集群?jiǎn)⑼C?/p>
1.一鍵啟停腳本
2.單進(jìn)程啟停
五、HDFS基本操作命令
1.創(chuàng)建文件夾
?2.查看指定目錄下內(nèi)容?
3.上傳文件到HDFS指定目錄下
?4.查看HDFS文件內(nèi)容
5.下載HDFS文件
?6.拷貝HDFS文件
?7.追加數(shù)據(jù)到HDFS文件中
8.HDFS數(shù)據(jù)移動(dòng)操作?
?9.HDFS數(shù)據(jù)刪除操作
六、HDFS權(quán)限不足解決方法
1.超級(jí)用戶
2.修改權(quán)限(和Linu一致)
一、為什么需要分布式存儲(chǔ)?
? ? ? ? ①數(shù)據(jù)量太大,單機(jī)存儲(chǔ)能力有上限,需要靠數(shù)量來(lái)解決問(wèn)題。
? ? ? ? ②數(shù)量的提升帶來(lái)的是網(wǎng)絡(luò)傳輸、磁盤(pán)讀寫(xiě)、CPU、內(nèi)存等方面綜合提升。分布式組合在引擎可以達(dá)到1+1>2的效果。
二、分布式的基礎(chǔ)架構(gòu)分析
大數(shù)據(jù)體系中,分布式的調(diào)度主要有兩類(lèi)價(jià)格模式:
? ? ? ? 1.去(無(wú))中心化模式
? ? ? ? 去中心化模式?jīng)]有明確的中心,眾多服務(wù)器之間基于特定規(guī)則進(jìn)行同步協(xié)調(diào)。區(qū)塊鏈和P2P就是典型的去中心化模式。
? ? ? ? 2.中心化模式(大部分基礎(chǔ)架構(gòu))
? ? ? ? 以一個(gè)節(jié)點(diǎn)作為中心,去同意調(diào)度其他節(jié)點(diǎn)。這種模式也被稱(chēng)為一主多從模式,簡(jiǎn)稱(chēng)主從模式(Master And Slaves)。Hadoop就是典型的主從模式(中心化模式)架構(gòu)的技術(shù)框架。
?三、HDFS基礎(chǔ)架構(gòu)
1.HDFS簡(jiǎn)介
? ? ? ? HDFS是Hadoop三大組件(HDFS、MApReduce、YARN)之一。全稱(chēng)是Hadoop Distributed File System(Hadoop分布式文件系統(tǒng))。是Hadoop技術(shù)棧內(nèi)提供的分布式數(shù)據(jù)存儲(chǔ)解決方案,可以在多臺(tái)服務(wù)器上構(gòu)建集群,存儲(chǔ)海量的數(shù)據(jù)。
2.HDFS基礎(chǔ)架構(gòu)
? ? ? ? HDFS是一個(gè)典型的主從模式的架構(gòu)
? ? ? ? HDFS集群分為三個(gè)角色:
? ? ? ? ·主節(jié)點(diǎn)(NameNode):HDFS系統(tǒng)的主角色,是一個(gè)獨(dú)立的進(jìn)程,負(fù)責(zé)管理HDFS整個(gè)文件系統(tǒng),負(fù)責(zé)管理DataNode。
? ? ? ? ·從節(jié)點(diǎn)(DataNode):HDFS系統(tǒng)的從角色,是一個(gè)獨(dú)立進(jìn)程,主要負(fù)責(zé)數(shù)據(jù)的存儲(chǔ),即存入數(shù)據(jù)和取出數(shù)據(jù)。
? ? ? ? ·主節(jié)點(diǎn)輔助節(jié)點(diǎn)(SecondaryNameNode):Name Node的輔助,是一個(gè)獨(dú)立的進(jìn)程,主要幫助NameNode完成元數(shù)據(jù)整理工作(打雜)。
四、HDFS集群?jiǎn)⑼C?/h4>
1.一鍵啟停腳本
·$HADOOP_HOME/sbin/start-dfs.sh,一鍵啟動(dòng)HDFS集群
? ? ? ? 執(zhí)行原理:
? ? ? ? ·在執(zhí)行此腳本的機(jī)器上,啟動(dòng)SecondaryNameNode
? ? ? ? ·讀取core-site.xml內(nèi)容(fs.defaultFS項(xiàng)),確認(rèn)NameNode所在的機(jī)器,啟動(dòng)NameNode
? ? ? ? ·讀取workers內(nèi)容,確認(rèn)DataNode所在的機(jī)器,啟動(dòng)全部DataNode
·$HADOOP_HOME/sbin/stop-dfs.sh,一鍵關(guān)閉HDFS集群
? ? ? ? 執(zhí)行原理:
? ? ? ? ·在執(zhí)行此腳本的機(jī)器上,關(guān)閉SecondaryNameNode
? ? ? ? ·讀取core-site.xml(fs.defaultFS項(xiàng)),確認(rèn)NameNode所在機(jī)器,關(guān)閉NameNode
? ? ? ? ·讀取workers內(nèi)容,確認(rèn)DataNode所在機(jī)器,關(guān)閉全部NameNode
2.單進(jìn)程啟停
(1)$HADOOP_HOME/sbin/hadoop-daemon.sh,此腳本可以單獨(dú)控制所在機(jī)器的進(jìn)程的啟停(只能在對(duì)應(yīng)機(jī)器管理對(duì)應(yīng)服務(wù))
用法:hadoop-daemon.sh ( start | status | stop ) ( namenode | secondarynamenode | datanode )
(2)$HADOOP_HOME/bin/hdfs,此程序也可以用以單獨(dú)控制所在機(jī)器的進(jìn)程的啟停(只能在對(duì)應(yīng)機(jī)器管理對(duì)應(yīng)的服務(wù))
用法:hdfs --daemon( start | status | stop )( namenode | secondarynamenode | datanode )
五、HDFS基本操作命令
????????HDFS文件系統(tǒng)基本信息
? ? ? ? HDFS作為分布式存儲(chǔ)的文件系統(tǒng),有其對(duì)數(shù)據(jù)的路徑表達(dá)方式。HDFS同Linux系統(tǒng)一樣,均是以 / 作為根目錄的組織形式。
?路徑表示:
????????·Linux:file:///
????????·HDFS:hdfs://namenode:port/
例:
????????Linux:file:///usr/local/hello.txt
????????HDFS: hdfs://node1:8020/usr/local/hello.txt
? ? ? ? ?協(xié)議頭 file:/// 或 hdfs://node1:8020/?可以省略,需要提供Linux路徑的參數(shù),會(huì)自動(dòng)識(shí)別為file://,需要HDFS路徑的參數(shù),會(huì)自動(dòng)識(shí)別為hdfs://,除非你明確需要寫(xiě)或不寫(xiě)會(huì)有BUG,否則一般不用寫(xiě)協(xié)議頭.
????????HDFS命令體系介紹
? ? ? ? 關(guān)于HDFS文件系統(tǒng)的操作命令,Hadoop提供了兩套命令體系。
(1)hadoop命令(老版本用法),用法:hadoop fs [ generic options ]
(2)hdfs命令(新版本用法),用法:hdfs dfs [ generic?options ]?
? ? ? ?
???????? 兩者在文件系統(tǒng)操作,用法完全一致,用哪個(gè)都可以。
1.創(chuàng)建文件夾
? ? ? ? hadoop? fs? -mkdir? [-p]? <path>? ....
? ? ? ? hdfs? dfs -mkdir [-p]? <path> ....
? ? ? ? ? ? ? ? path為待創(chuàng)建的目錄
? ? ? ? ? ? ? ? -p選項(xiàng)的行為與Linux mkdir -p 一致
?2.查看指定目錄下內(nèi)容?
? ? ? ? hadoop? fs? -ls? [-h] [-R] [ <path> ...]
? ? ? ? hdfs dfs -ls [-h] [-R] [<path> ...]
? ? ? ? ? ? ? ? -h 人性化顯示文件size
? ? ? ? ? ? ? ? path 指定目錄路徑
? ? ? ? ? ? ? ? -R 遞歸查看指定目錄及其子目錄
3.上傳文件到HDFS指定目錄下
? ? ? ? hadoop fs -put [-f] [-p] <localsrc>...<dst>?
? ? ? ? hdfs dfs -put [-f] [-p] <localsrc>...<dst>
? ? ? ? ? ? ? ? -f 覆蓋目標(biāo)文件(已存在下)
? ? ? ? ? ? ? ? -p 保留訪問(wèn)和修改時(shí)間,所有權(quán)和權(quán)限。
? ? ? ? ? ? ? ? localsrc 本地文件系統(tǒng)(客戶端所在機(jī)器)
? ? ? ? ? ? ? ? dst 目標(biāo)文件系統(tǒng)(HDFS)
?4.查看HDFS文件內(nèi)容
? ? ? ? hadop fs -cat <src>...
? ? ? ? hdfs dfs -cat <src>...
?讀取大文件可以使用管道符配合more對(duì)文件進(jìn)行翻頁(yè)處理
? ? ? ? hadoop fs -cat <src> | more
? ? ? ? hdfs dfs -cat <src> | more
5.下載HDFS文件
? ? ? ? hadoop fs -get [-f] [-p] <src>...<localdst>
? ? ? ? hdfs dfs -get [-f] [-p] <src>...<localdst>
? ? ? ? ? ? ? ? 下載文件到本地文件系統(tǒng)指定目錄,localdst必須是目錄
? ? ? ? ? ? ? ? ?-f 覆蓋目標(biāo)文件(已存在下)
? ? ? ? ? ? ? ? -p 保留訪問(wèn)和修改時(shí)間,所有權(quán)和權(quán)限
?6.拷貝HDFS文件
? ? ? ? hadoop fs? -cp [-f] <src>...<dst>
? ? ? ? hdfs dfs -cp [-f] <src>...<dst>
? ? ? ? ? ? ? ? -f 覆蓋目標(biāo)文件(已存在下)
?7.追加數(shù)據(jù)到HDFS文件中
? ? ? ? hadoop fs -appendToFile <localsrc>...<dst>
? ? ? ? hdfs dfs -appendToFile <localsrc>...<dst>
? ? ? ? 將所以給本地文件的內(nèi)容追加到給定dst文件,如果dst文件不存在,將創(chuàng)建該文件,如果<localSrc>為-,則輸入為從標(biāo)準(zhǔn)輸入中讀取。
8.HDFS數(shù)據(jù)移動(dòng)操作?
? ? ? ? hadoop fs -mv <src>...<dst>
? ? ? ? hdfs dfs -mv <src>...<dst>
? ? ? ? 移動(dòng)文件到指定文件夾下
? ? ? ? 可以使用該命令移動(dòng)數(shù)據(jù),重命名文件的名稱(chēng)
?9.HDFS數(shù)據(jù)刪除操作
? ? ? ? hadoop fs -rm -r [-skipTrash] URI [URI ...]
? ? ? ? hdfs dfs -rm -r [-skipTrash] URI [URI ...]
? ? ? ? 刪除指定路徑的文件或文件夾(-r)
? ? ? ? -skipTrash 跳過(guò)回收站,直接刪除
?回收站功能默認(rèn)關(guān)閉,如果要開(kāi)啟需要在 core-site.xml 內(nèi)配置:
<property>
????????<name>fs.trash.interval</name>? #設(shè)置文件保留期間,1440為一個(gè)星期
????????<value>1440</value>
</property>
<property>
????????<name>fs.trash.checkpoint.interval</name>? #檢查區(qū)間,表示回收站每120分鐘檢查一次
????????<value>120</value>
</property>
無(wú)需重啟集群,在哪個(gè)機(jī)器配置的,在哪個(gè)機(jī)器執(zhí)行命令就生效。
回收站默認(rèn)位置在: /user/ 用戶名 (hadoop)/.Trash
六、HDFS權(quán)限不足解決方法
1.超級(jí)用戶
? ? ? ? HDFS中,也是有權(quán)限控制的,其控制邏輯和Linux系統(tǒng)完全一致。但Linux的超級(jí)用戶是root,HDFS文件系統(tǒng)的超級(jí)用戶:是啟動(dòng)namenode的用戶。
2.修改權(quán)限(和Linu一致)
(1)修改所屬用戶和組
????????hadoop fs -chown [-R] root:root /xxx.txt
? ? ? ? hdfs dfs -chown [-R] root:root /xxx.txt
(2)修改權(quán)限
? ? ? ? hadoop fs -chmod [-R] 777 /xxx.txt文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-744399.html
? ? ? ? hdfs dfs -chmod [-R] 777 /xxx.txt文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-744399.html
到了這里,關(guān)于Hadoop HDFS分布式文件系統(tǒng)(介紹以及基礎(chǔ)操作命令)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!