1. hdfs命令風格
HDFS命令有兩種風格:
- hadoop fs開頭的
- hdfs dfs開頭的
兩種命令均可使用,效果相同
1.1 常用命令
-
如何查看hdfs或hadoop子命令的幫助信息,如ls子命令
hdfs dfs -help ls hadoop fs -help ls
-
查看hdfs文件系統中已經存在的文件。對比linux命令ls
hdfs dfs -ls / hadoop fs -ls /
-
在hdfs文件系統中創建文件
hdfs dfs -touchz /words.txt
-
向HDFS文件中追加內容
hadoop fs -appendToFile edit1.xml /edits.txt #將本地磁盤當前目錄的edit1.xml內容追加到HDFS根目錄 的edits.txt文件
-
查看HDFS文件內容
hdfs dfs -cat /words.txt
-
從本地路徑上傳文件至HDFS
#用法:hdfs dfs -put /本地路徑 /hdfs路徑 hdfs dfs -put hadoop-2.7.3.tar.gz / hdfs dfs -copyFromLocal hadoop-2.7.3.tar.gz / #根put作用一樣 hdfs dfs -moveFromLocal hadoop-2.7.3.tar.gz / #根put作用一樣,只不過,源文件被拷貝成功後,會被刪除
-
在hdfs文件系統中下載文件
hdfs dfs -get /hdfs路徑 /本地路徑 hdfs dfs -copyToLocal /hdfs路徑 /本地路徑 #根get作用一樣
-
在hdfs文件系統中創建目錄
hdfs dfs -mkdir /shell
-
在hdfs文件系統中刪除文件
hdfs dfs -rm /edits.txt hdfs dfs -rm -r /shell
-
在hdfs文件系統中修改文件名稱(也可以用來移動文件到目錄)
hdfs dfs -mv /xcall.sh /call.sh hdfs dfs -mv /call.sh /shell
-
在hdfs中拷貝文件到目錄
hdfs dfs -cp /xrsync.sh /shell
-
遞歸刪除目錄
hdfs dfs -rmr /shell
-
列出本地文件的內容(默認是hdfs文件系統)
hdfs dfs -ls file:///home/zsc/
-
查找文件
# linux find命令 find . -name 'edit*' # HDFS find命令 hadoop fs -find / -name part-r-00000 # 在HDFS根目錄中,查找part-r-00000文件
1.2 總結
-
輸入hadoop fs 或hdfs dfs回車,查看所有的HDFS命令
-
許多命令與linux命令有很大的相似性
-
有用的help命令,如查看ls命令的使用說明:hadoop fs -help ls
2. hdfs與getconf結合使用
-
獲取NameNode的節點名稱(可能有多個)
hdfs getconf -namenodes
-
獲取hdfs最小塊信息
hdfs getconf -confKey dfs.namenode.fs-limits.min-block-size
-
查找hdfs的NameNode的RPC地址
hdfs getconf -nnRpcAddresses
3. hdfs與dfsadmin結合使用
-
同樣要學會藉助幫助信息
hdfs dfsadmin -help safemode
-
查看hdfs dfsadmin的幫助信息
hdfs dfsadmin
-
查看當前的模式
hdfs dfsadmin -safemode get
-
進入安全模式
hdfs dfsadmin -safemode enter
4. hdfs與fsck結合使用
-
fsck指令顯示HDFS塊信息
hdfs fsck /02-041-0029.mp4 -files -blocks -locations # 查看文件02-041-0029.mp4的塊信息
5. 其他命令
-
檢查壓縮庫本地安裝情況
hadoop checknative
-
格式化名稱節點(慎用,一般只在初次搭建集羣,使用一次;格式化成功後,不要再使用)
hadoop namenode -format
-
執行自定義jar包
hadoop jar MR-1.0-SNAPSHOT.jar com.zsc.hadoop.WordCount /world.txt /out