離線數(shù)據(jù)分析平臺實戰(zhàn)——030Hadoop Shell命令02
hdfs命令
hdfs命令是hadoop提供的操作HDFS分布式文件系統(tǒng)的shell命令客戶端,
我們可以通過該命令對分布式文件系統(tǒng)進行文件的增刪查操作,
也可以通過該命令獲取到一些hadoop的相關(guān)配置信息鹤啡,
而且我們啟動hdfs相關(guān)服務(wù)進程都是通過該命令進行的歌馍。
hdfs命令主要分為兩類款违,
一類是用戶命令:dfs, fsck等,
一類是管理員命令:dfsadmin稠茂,namenode谈宛,datanode等次哈。
http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.5.0-cdh5.3.6/
hdfs命令-dfs顯示文件夾內(nèi)容
命令: -ls -lsr
執(zhí)行:hdfs dfs -ls /
區(qū)別:lsr是遞歸顯示
hdfs命令-dfs創(chuàng)建文件夾
命令: -mkdir
執(zhí)行:hdfs dfs -mkdir -p /bjsxt/hdfs/mkdir
-p指定當(dāng)需要創(chuàng)建的文件夾存儲,那么不報錯吆录,默認情況會報錯窑滞,遞歸的創(chuàng)建文件夾。 如果我們給定的路徑不是以'/'開始的径筏,那么表示在當(dāng)前用戶目錄下創(chuàng)建文件夾葛假。(默認情況下是沒有當(dāng)前用戶目錄的障陶,那么就會報錯)滋恬。
hdfs命令-dfs上傳文件到HDFS
命令: -put
-copyFromLocal
-moveFromLocal
執(zhí)行:hdfs dfs -put /home/hadoop/bigdater/ /bjsxt/put
本地路徑可以指定文件夾或者多個文件,hdfs上的路徑必須是根據(jù)上傳東西的不同抱究,有不同的要求恢氯。
1.本地指定的是文件夾,那么hdfs如果目錄不存在鼓寺,就新建目錄然后將本地文件夾內(nèi)容copy過去勋拟;hdfs目錄存在,則將文件夾copy過去妈候。
2.本地指定的是單個文件敢靡,那要求hdfs上指定的文件不存在
3.本地指定的是多個文件,那么要求hdfs上指定的文件夾存在苦银。
hdfs命令-dfs下載文件
命令: -get
-copyToLocal
-moveToLocal
執(zhí)行:hdfs dfs -get /bjsxt/put ./
get命令和put命令是一對相反命令啸胧。put是從本地到集群,get是從集群到本地幔虏》哪睿基本語法相似。
hdfs命令-dfs查看文件內(nèi)容
命令: -cat
-text
執(zhí)行:hdfs dfs -cat /beifeng/test.txt
cat命令和text命令都可以查看文件內(nèi)容想括,但是它們的內(nèi)置機制不一樣陷谱,cat是copy文件內(nèi)容,然后顯示瑟蜈;text是通過hadoop解析將文件內(nèi)容轉(zhuǎn)化為文本內(nèi)容烟逊,然后在顯示渣窜。cat命令只適合看一半的文本文件,而text命令可以看出所有文件宪躯。
hdfs命令-dfs刪除文件
命令: -rm
-rmdir
執(zhí)行:hdfs dfs -rm -R /bjsxt/put
rm和rmdir的區(qū)別主要是:rm可以刪除任何文件/文件夾图毕,rmdir只能夠刪除空的文件夾。
hdfs命令-fsck
fsck命令是檢測hdfs磁盤文件是否有丟失備份異常等信息眷唉,可以查看到具體的文件是否處于健康狀況予颤,執(zhí)行命令為: hdfs -fsck <path>
hdfs命令-dfsadmin匯報集群信息
命令:-report
執(zhí)行:hdfs dfsadmin -report
可以通過該命令查看集群的基本信息,包括總磁盤大小冬阳,剩余磁盤大小蛤虐,丟失塊個數(shù)等總的集群信息。
hdfs命令-安全模式
命令:-safemode <enter | leave | get | wait>
執(zhí)行:hdfs dfsadmin -safemode get
當(dāng)集群中的文件備份出現(xiàn)丟失的時候肝陪,可能會進行安全模式驳庭。安全模式是指當(dāng)集群處于該狀態(tài)下,hdfs解決文件IO操作氯窍。我們可以通過該命令強制離開安全模式饲常。
hdfs命令-namenode
namenode命令是hadoop提供的操作NN節(jié)點的shell命令入口,包括NN節(jié)點的格式化狼讨、NN節(jié)點升級贝淤、NN節(jié)點回滾、NN節(jié)點啟動等操作政供。 查看幫助信息:hdfs namenode -h
hdfs命令-datanode
datanode命令是hadoop提供的操作ND節(jié)點的shell命令入口播聪,包括ND節(jié)點啟動、DN節(jié)點升級布隔、DN節(jié)點回滾等操作离陶。 查看幫助信息:hdfs datanode -h
hadoop命令
hadoop命令主要是將hdfs、yarn和mapred全部命令進行一個整合衅檀,實際生活中一般情況下主要使用hadoop命令來進行Job的管理到多個集群之間的數(shù)據(jù)復(fù)制問題招刨。常用命令主要有:
job: job生命周期管理,包括提交哀军、查看狀態(tài)沉眶、kill等。
distcp: 多集群間數(shù)據(jù)復(fù)制排苍。
version: 查看hadoop版本信息沦寂。
其他命令
mapred命令主要作用對mapred相關(guān)服務(wù)進行控制。
yarn命令主要作用是對yarn的相關(guān)服務(wù)進行控制淘衙,包括resourcemanager
和nodemanager
的啟動以及Job的提交等传藏。
hadoop start-yarn.sh yarn-daemon.sh mr-jobhistory-daemon.sh