一.常用命令實操
(1)-help:輸出這個命令參數(shù)
bin/hdfs dfs -help rm
(2)-ls: 顯示目錄信息
hdfs dfs -ls /
(3)-mkdir:在hdfs上創(chuàng)建目錄
hdfs dfs -mkdir -p /aaa/bbb/cc/dd
(4)-moveFromLocal從本地剪切粘貼到hdfs
hdfs dfs -moveFromLocal /root/install.log /aaa/bbb/cc/dd
(5)-moveToLocal:從hdfs剪切粘貼到本地
hdfs dfs -moveToLocal /aaa/bbb/cc/dd/install.log /root
moveToLocal: Option '-moveToLocal' is not implemented yet.
(6)--AppendToFile :追加一個文件到已經(jīng)存在的文件末尾
hdfs dfs -appendToFile /root/install.log /test.txt
(7)-cat :顯示文件內(nèi)容
hdfs dfs -cat /test.txt
(8)-tail:顯示一個文件的末尾
hdfs dfs -tail /test.txt
(9)-text:以字符形式打印一個文件的內(nèi)容
hdfs dfs -text /test.txt
(10)-chgrp 、-chmod、-chown:linux文件系統(tǒng)中的用法一樣,修改文件所屬權(quán)限
hdfs dfs -chmod 666 /test.txt
hdfs dfs -chown someuser:somegrp /test.txt
(11)-copyFromLocal:從本地文件系統(tǒng)中拷貝文件到hdfs路徑去
hdfs dfs -copyFromLocal /export/softwares/jdk-8u141-linux-x64.tar.gz /
(12)-copyToLocal:從hdfs拷貝到本地
hdfs dfs -copyToLocal /jdk-8u141-linux-x64.tar.gz /export/
(13)-cp :從hdfs的一個路徑拷貝到hdfs的另一個路徑
hdfs dfs -cp /jdk-8u141-linux-x64.tar.gz /aaa/
(14)-mv:在hdfs目錄中移動文件
hdfs dfs -mv /aaa/jdk-8u141-linux-x64.tar.gz /aaa/bbb
(15)-get:等同于copyToLocal,就是從hdfs下載文件到本地
hdfs dfs -get /jdk-8u141-linux-x64.tar.gz /export
(16)-getmerge :合并下載多個文件,比如hdfs的目錄 /aaa/下有多個文件:log.1, log.2,log.3,...
hdfs dfs -put /root/install.log /aaa/1.log
hdfs dfs -put /root/install.log /aaa/2.log
hdfs dfs -getmerge /aaa/*.log /export/hello.txt
(17)-put:等同于copyFromLocal
hdfs dfs -put /export/jdk-8u141-linux-x64.tar.gz /user
(18)-rm:刪除文件或文件夾
hdfs dfs -rm -r /user/jdk-8u141-linux-x64.tar.gz
(19)-rmdir:刪除空目錄
hdfs dfs -mkdir /empty
hdfs dfs -rmdir /empty
(20)-df :統(tǒng)計文件系統(tǒng)的可用空間信息
hdfs dfs -df -h /
(21)-du統(tǒng)計文件夾的大小信息
hdfs dfs -du -s -h /aaa
(22)-count:統(tǒng)計一個指定目錄下的文件節(jié)點數(shù)量
hdfs dfs -count /aaa/
(23)-setrep:設(shè)置hdfs中文件的副本數(shù)量
hdfs dfs -setrep 1 /jdk-8u141-linux-x64.tar.gz
(24) - expunge :清空hdfs垃圾桶
hdfs dfs -expunge
二.hdfs的高級使用命令
1、HDFS文件限額配置
hdfs文件的限額配置允許我們以文件大小或者文件個數(shù)來限制我們在某個目錄下上傳的文件數(shù)量或者文件內(nèi)容總量,以便達(dá)到我們類似百度網(wǎng)盤網(wǎng)盤等限制每個用戶允許上傳的最大的文件的量
(1) 數(shù)量限額
node01執(zhí)行以下命令進(jìn)行文件數(shù)量限額
hdfs dfs -mkdir -p /user/root/lisi #創(chuàng)建hdfs文件夾
hdfs dfsadmin -setQuota 2 lisi # 給該文件夾下面設(shè)置最多上傳兩個文件,上傳文件,發(fā)現(xiàn)只能上傳一個文件
hdfs dfsadmin -clrQuota /user/root/lisi # 清除文件數(shù)量限制
(2)空間大小限額
node01執(zhí)行以下命令進(jìn)行空間大小限額
hdfs dfsadmin -setSpaceQuota 4k /user/root/lisi # 限制空間大小4KB
hdfs dfs -put /export/softwares/zookeeper-3.4.5-cdh5.14.0.tar.gz /user/root/lisi
#上傳超過4Kb的文件大小上去提示文件超過限額
hdfs dfsadmin -clrSpaceQuota /user/root/lisi #清除空間限額
hdfs dfs -put /export/softwares/zookeeper-3.4.5-cdh5.14.0.tar.gz /user/root/lisi
#重新上傳成功
查看hdfs文件限額數(shù)量
hdfs dfs -count -q -h /user/root/lisi
2、hdfs的安全模式
安全模式是HDFS所處的一種特殊狀態(tài),在這種狀態(tài)下,文件系統(tǒng)只接受讀數(shù)據(jù)請求,而不接受刪除、修改等變更請求。在NameNode主節(jié)點啟動時,HDFS首先進(jìn)入安全模式,DataNode在啟動的時候會向namenode匯報可用的block等狀態(tài),當(dāng)整個系統(tǒng)達(dá)到安全標(biāo)準(zhǔn)時,HDFS自動離開安全模式。如果HDFS出于安全模式下,則文件block不能進(jìn)行任何的副本復(fù)制操作,因此達(dá)到最小的副本數(shù)量要求是基于datanode啟動時的狀態(tài)來判定的,啟動時不會再做任何復(fù)制(從而達(dá)到最小副本數(shù)量要求),hdfs集群剛啟動的時候,默認(rèn)30S鐘的時間是出于安全期的,只有過了30S之后,集群脫離了安全期,然后才可以對集群進(jìn)行操作
hdfs dfsadmin -safemode