試試 /usr/sbin/start-dfs.sh 和 /usr/local/sbin/start-dfs.sh如果還不行那就真的是沒(méi)有這個(gè)命令。
創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),江達(dá)企業(yè)網(wǎng)站建設(shè),江達(dá)品牌網(wǎng)站建設(shè),網(wǎng)站定制,江達(dá)網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,江達(dá)網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
查詢文件input output 中的字符串
'dfs[a-z.]+'
這個(gè)是正則表達(dá)式,查詢dfs開(kāi)頭的,后面跟1個(gè)或1個(gè)以上的字母,比如 dfsa dfsb dfsc
HDFS命令基本格式:hadoop fs -cmd args
表格:
注意:以上表格中路徑包括hdfs中的路徑和linux中的路徑。對(duì)于容易產(chǎn)生歧義的地方,會(huì)特別指出“l(fā)inux路徑”或者“hdfs路徑”。如果沒(méi)有明確指出,意味著是hdfs路徑。
HDFS有一個(gè)默認(rèn)的工作目錄/user/$USER,其中$USER是用戶的登錄用戶名。不過(guò)目錄不會(huì)自動(dòng)建立,需要mkdir建立它
命令格式:hadoop fs -mkdir
注意:支持級(jí)聯(lián)創(chuàng)建新目錄,Hadoop的mkdir命令會(huì)自動(dòng)創(chuàng)建父目錄,類似于帶-p的linux命令
put命令從本地文件系統(tǒng)中 復(fù)制單個(gè)或多個(gè) 源路徑到目標(biāo)文件系統(tǒng),也支持從標(biāo)準(zhǔn)輸入設(shè)備中讀取輸入并寫入目標(biāo)文件系統(tǒng)。分為本地上傳和上傳到HDFS中。
命令格式:hadoop fs -put filename
最后一個(gè)參數(shù)是句點(diǎn),相當(dāng)于放入了默認(rèn)的工作目錄,等價(jià)于 hadoop fs -put example.txt /user/chen
上傳文件時(shí),文件首先復(fù)制到DataNode上,只有所有的DataNode都成功接收完數(shù)據(jù),文件上傳才是成功的。
命令格式:hadoop dfs put filename newfilename
從本地文件系統(tǒng)中復(fù)制單個(gè)或多個(gè)源路徑到目標(biāo)文件系統(tǒng)。也支持從 標(biāo)準(zhǔn)輸入 中讀取輸入寫入目標(biāo)文件系統(tǒng)。
采用-ls命令列出HDFS上的文件。在HDFS中未帶參數(shù)的-ls命令沒(méi)有返回任何值,它默認(rèn)返回HDFS的home目錄下
的內(nèi)容。在HDFS中,沒(méi)有當(dāng)前工作目錄這樣一個(gè)概念,也沒(méi)有cmd這樣的命令。
命令格式:user@NameNode:hadoop$ bin/hadoop dfs -ls
如:
通過(guò)“-ls 文件夾名” 命令瀏覽HDFS下文件夾中的文件
命令格式:hadoop dfs -ls 文件夾名
通過(guò)該命令可以查看in文件夾中的所有文檔文件
通過(guò)“-cat 文件名”命令查看HDFS下文件夾中某個(gè)文件的內(nèi)容
命令格式:hadoop$ bin/hadoop dfs -cat 文件名
通過(guò)這個(gè)命令可以查看in文件夾中所有文件的內(nèi)容
通過(guò)“-get 文件按1 文件2”命令將HDFS中某目錄下的文件復(fù)制到本地系統(tǒng)的某文件中,并對(duì)該文件重新命名。
命令格式:hadoop dfs -get 文件名 新文件名
-get 命令與-put命令一樣,既可以操作目錄,也可以操作文件
通過(guò)“-rmr 文件”命令刪除HDFS下的文件
命令格式:hadoop$ bin/hadoop dfs -rmr 文件
-rmr 刪除文檔命令相當(dāng)于delete的遞歸版本。
通過(guò)-format命令實(shí)現(xiàn)HDFS格式化
命令格式:user@NameNode:hadoop$ bin/hadoop NameNode -format
通過(guò)運(yùn)行start-dfs.sh,就可以啟動(dòng)HDFS了
命令格式:user@NameNode:hadoop$ bin/ start-dfs.sh
當(dāng)需要退出HDFS時(shí),通過(guò)stop-dfs.sh 就可以關(guān)閉HDFS
命令格式:user@NameNode:hadoop$ bin/ stop-dfs.sh
HDFS的命令遠(yuǎn)不止這些,對(duì)于其他操作,可以通過(guò)-help commandName 命令列出清單。下面列舉一些命令進(jìn)行說(shuō)明。
(1)chgrp改變文件所屬的組命令
chgrp命令的用途是:更改文件或目錄的組所有權(quán)。
語(yǔ)法格式:hadoop fs -charg [-R] GROUP URL .....
使用-R將使改變?cè)谀夸浗Y(jié)構(gòu)下遞歸進(jìn)行。命令的使用者必須是文件的所有者或者超級(jí)用戶。
(2)chmod改變文件的權(quán)限
chmod用于改變文件或目錄的訪問(wèn)權(quán)限,這個(gè)Linux系統(tǒng)管理員最常用的命令之一。
使用方法:hadoop fs -chmod [-R] ...
使用-R將使改變?cè)谀夸浗Y(jié)構(gòu)下遞歸進(jìn)行。命令的使用者必須是文件的所有者或者是超級(jí)用戶
(3)chown改變文件的擁有者
chown命令改變文件的擁有者。
使用方法:hadoop fs -chown [-R]....
使用-R將使改變?cè)谀夸浗Y(jié)構(gòu)下遞歸進(jìn)行。命令的使用者必須是超級(jí)用戶。
(4)copyFromLocal命令
除了限定 源路徑 是只能是一個(gè) 本地文件 外,其他方面和put命令相似。
使用方法:hadoop fs -copyFromLocal localsrc URI
(5)copyToLocal命令
除了限定 目標(biāo)路徑 是一個(gè) 本地文件 外,其他方面和get命令類似。
使用方法:hadoop fs -copyToLocal {-ignorecrc} {-crc} URI localdst
(6)cp命令
cp命令是將文件從源路徑復(fù)制到目標(biāo)路徑。這個(gè)命令允許有多個(gè)源路徑,此時(shí)目標(biāo)路徑必須是一個(gè)目錄。
使用方法:hadoop fs -cp URI [URI....] dest
返回值:成功返回0 ,失敗返回-1
(7)du命令
du命令顯示目錄中 所有文件的大小 ,或者當(dāng)只指定一個(gè)文件時(shí),顯示此文件的大小
使用方法:hadoop fs -du URI [URI........]
返回值
成功返回0,失敗返回-1
(8)dus命令
dus是顯示 文件大小 的命令。
使用方法:hadoop fs -dus args
(9)expunge命令
expunge是清空回收站的命令
使用方法:hadoop fs -expunge
(10)get命令
get是復(fù)制文件到本地文件系統(tǒng)的命令
使用方法:hadoop fs -get [-ignorecrc] [-crc] localdst
可用-ignorecrc選項(xiàng)復(fù)制CRC校驗(yàn)失敗的文件:使用-CRC選項(xiàng)復(fù)制文件以及CRC信息。
返回值
成功返回0,失敗返回-1
(11)getmerge命令
getmerge命令用于接受一個(gè)源目錄和一個(gè)目標(biāo)文件作為輸入,并且將源目錄中所有的文件合并成本地目標(biāo)文件。
使用方法:hadoop fs -getmerge src localdst [addnl]
參數(shù)說(shuō)明:addl是可選的,用于指定在每個(gè)文件結(jié)尾添加一個(gè)換行符;
假設(shè)在你的hdfs集群上有一個(gè)/user/hadoop/output目錄
里面有作業(yè)執(zhí)行的結(jié)果(多個(gè)文件組成)part-000000,part-000001,part-000002
然后就可以在本地使用vi local_file查看內(nèi)容了
(12)ls命令
ls命令查看當(dāng)前目錄下的信息
使用方法:hadoop fs -ls args
如果是 文件 ,則按照如下格式返回文件信息:
文件名 副本數(shù)文件大小 修改日期 修改時(shí)間 權(quán)限 用戶ID 組ID
如果是 目錄 ,則返回它直接子文件的一個(gè)列表,就像在UNIX中一樣。目錄返回i額表的信息如下:
目錄名dir修改日期 修改時(shí)間 權(quán)限 用戶ID 組ID
返回值
成功返回0,失敗返回-1
(13)lsr命令
lsr命令是-ls命令的遞歸版,類似于UNIX中的ls-r。
使用方法:hadoop fs -lsr args
(14)movefromLocal命令
復(fù)制一份本地文件到hdfs,當(dāng)成功后,刪除本地文件
使用方法:dfs -moveFromLocal src dst
(14.5)moveToLocal命令
類似于-get,但是當(dāng)復(fù)制完成后,會(huì)刪除hdfs上的文件
使用方法:moveToLocal src localDest
(15)mv命令
將文件從源路徑移動(dòng)到目標(biāo)路徑。這個(gè)命令允許有多個(gè)源路徑,此時(shí)目標(biāo)路徑必須是一個(gè)目錄
使用方法:hadoop fs -mv URI [URI.....] dest
備注:不允許在不同的文件系統(tǒng)間移動(dòng)文件。
返回值
成功返回0,失敗返回-1
(16)put 命令
put命令從本地文件系統(tǒng)中復(fù)制單個(gè)或多個(gè)源路徑到目標(biāo)文件系統(tǒng),也支持從標(biāo)準(zhǔn)輸入中讀取輸入寫入目標(biāo)文件系統(tǒng)
使用方法:hadoop fs -put localsrc .... dst
(17)rm命令
rm命令刪除指定的文件,只刪除非空目錄和文件。
使用方法:hadoop fs -rm URI [URI......]
請(qǐng)參考rmr命令了解遞歸刪除。
(18)rmr命令
rmr命令是delete命令的遞歸版本
使用方法:hadoop fs -rmr URI [URI.......]
返回值
成功返回0,失敗返回-1
(19)setrep命令
setrep命令可以改變一個(gè)文件的副本系數(shù)。
使用方法:hadoop fs -setrep [-R] path
參數(shù)說(shuō)明:-R 選項(xiàng)用于遞歸改變目錄下所有文件的副本系數(shù)
返回值
成功返回0,失敗返回-1
(20)stat命令
stat命令用于返回指定路徑的統(tǒng)計(jì)信息
使用方法:hadoop fs -stat URI [URI......]
返回值
成功返回0,失敗返回-1
(21)tail命令
tail命令將文件尾部1KB的內(nèi)容輸出到stdout。支持-f選項(xiàng),行為和UNIX中一致
使用方法:hadoop fs -tail [-f] URI
返回值
成功返回0,失敗返回-1
(22)test命令
test命令是檢查命令,可以檢查文件是否存在、文件的大小等。
使用方法:hadoop fs -test -[ezd] URI
(23)text命令
text命令用于將源文件輸出問(wèn)文本格式
使用方法:hadoop fs -text src
允許的格式是zip和TextRecordInputStream。
(24)touchz 命令
touchz命令用于創(chuàng)建一個(gè)0字節(jié)的空文件。
使用方法: hadoop fs -touchz URI [URI....]
返回值
成功返回0,失敗返回-1
項(xiàng)目中使用了FastDFS作為文件系統(tǒng),這里記錄一下它的安裝和配置過(guò)程
由于是測(cè)試環(huán)境,所以只提供了一臺(tái)服務(wù)器,后續(xù)軟件的安裝和配置都在這臺(tái)服務(wù)器上完成
1、安裝fastdfs公共庫(kù)libfastcommon,注意fastdfs和libfastcommon的安裝目錄,后面安裝fastdfs-nginx-module時(shí)需要進(jìn)行相關(guān)配置
2、安裝fastdfs
3、配置Tracker
注意一下存放數(shù)據(jù)和日志的目錄,啟動(dòng)后需要查看日志信息
4、啟動(dòng)Tracker
5、查看日志
為了確保Tracker啟動(dòng)成功,我們可以在剛在配置的日志目錄中查看日志信息
出現(xiàn)上述信息表示Tracker已啟動(dòng)成功
6、遇到的問(wèn)題
Tracker啟動(dòng)后,如果改了Tracker的配置文件想要重新啟動(dòng),執(zhí)行啟動(dòng)命令后發(fā)現(xiàn)日志中報(bào)錯(cuò)
這是因?yàn)榇藭r(shí)Tracker已經(jīng)啟動(dòng)了,再執(zhí)行啟動(dòng)命令就會(huì)報(bào)錯(cuò)地址已被使用,此時(shí)可以執(zhí)行restart命令進(jìn)行重啟
或者
安裝步驟在上面Tracker的安裝中已經(jīng)做好了,直接配置即可
1、配置Storage
注意tracker的地址配置是否正確,否則啟動(dòng)時(shí)會(huì)報(bào)錯(cuò)
2、啟動(dòng)Storage
3、查看日志
出現(xiàn)上述信息表示Storage已啟動(dòng)成功
4、遇到的問(wèn)題
Storage啟動(dòng)后,如果改了Storage的配置文件想要重新啟動(dòng),執(zhí)行啟動(dòng)命令后發(fā)現(xiàn)日志中報(bào)錯(cuò)
這是因?yàn)榇藭r(shí)Storage已經(jīng)啟動(dòng)了,再執(zhí)行啟動(dòng)命令就會(huì)報(bào)錯(cuò)地址已被使用,此時(shí)可以執(zhí)行restart命令進(jìn)行重啟
或者
之前阿里云ESC實(shí)例遷移,導(dǎo)致服務(wù)器內(nèi)網(wǎng)ip地址發(fā)生了改變,重啟Storage時(shí)日志報(bào)錯(cuò)
這是由于Storage配置文件中tracker_server的ip地址還是舊地址,所以會(huì)出現(xiàn)連接超時(shí)的問(wèn)題,將配置文件中的地址改成新的地址重啟Storage
1、配置fastdfs-nginx-module所需的配置文件,包括mod_fastdfs.conf,http.conf,mime.types
注意tracker_server地址,否則啟動(dòng)后會(huì)報(bào)錯(cuò)
2、安裝配置
注意CORE_INCS和CFLAGS兩項(xiàng)的配置
1、建立nginx用戶
2、安裝配置
3、更改nginx目錄權(quán)限
4、配置文件nginx.conf
提供一個(gè)最簡(jiǎn)單的配置方式供參考,由于項(xiàng)目中nginx還做了其他處理,配置文件比較復(fù)雜,這里就不貼出來(lái)了
5、啟動(dòng)nginx
兩種方式
或者
使用過(guò)程中有其他問(wèn)題多查看日志報(bào)錯(cuò)情況,或者查閱 Nginx 跳轉(zhuǎn)fastdfs存儲(chǔ)圖片地址報(bào)錯(cuò)問(wèn)題分析過(guò)程匯總 ,詳細(xì)原理講解和測(cè)試查閱下面的參考文檔
參考: 分布式文件系統(tǒng)FastDFS實(shí)踐