hdfs的shell操作

Hdfs 的shell 操作
hadoop fs -操作命令 -參數
-ls #顯示目錄信息
-->hadoop fs -ls / 查看根目錄信息
-put #等同於copyFromLocal #從本地文件系統中拷貝文件到hdfs 路徑去
-get #等同於copyToLocal,就是從hdfs 下載文件到本地#從hdfs 拷貝到本地
-getmerge #合併下載多個文件
--> 比如hdfs 的目錄/aaa/下有多個文件:log.1, log.2,log.3,...
hadoop fs -getmerge /aaa/log. ./log.sum
-moveFromLocal #從本地移動到hdfs
-moveToLocal #從hdfs 移動到本地
-cp #從hdfs 的一個路徑拷貝hdfs 的另一個路徑
-->hadoop fs -cp /aaa/jdk.tar.gz /bbb/jdk.tar.gz.2
-mv #在hdfs 目錄中移動文件
-mkdir #在hdfs 上創建目錄這裏的-p 是創建目錄下再創建目錄-mkdir 只能創建一個目錄
-->hadoop fs -mkdir -p /aaa/bbb/cc/dd
-rm #刪除文件或文件夾-r 刪除aaa 目錄下的子集目錄bbb 沒有-r 只能刪除aaa
--> hadoop fs -rm -r /aaa/bbb/
-rm -skipTrash 永久刪除
[root@hdfs-master-84-20 ~]# sudo -u hdfs hadoop fs -rm -skipTrash /data/vargoFile/

-rmdir #刪除空目錄
-cat ---顯示文件內容
-->hadoop fs -cat /hello.txt
-tail ---顯示文件內容(用法和cat 一樣)
[root@NewCDH-0--141 ~]# hadoop fs -tail /mjh/shiyanshuju/shiyanshuju.txtbr/>001,zhangsan,5678,[email protected],123456789,10000.00
002,lisi,1234,[email protected],987654321,7896.00
003,wangwu,7890,[email protected],234567145,3456.00

[root@NewCDH-0--141 ~]# hadoop fs -cat /mjh/shiyanshuju/shiyanshuju.txtbr/>001,zhangsan,5678,[email protected],123456789,10000.00
002,lisi,1234,[email protected],987654321,7896.00
003,wangwu,7890,[email protected],234567145,3456.00[root@NewCDH-0--141 ~]#
-chgrp -chmod -chown
上面三個跟linux 中的用法一樣
-->hadoop fs -chmod 666 /hello.txt
-count #統計一個指定目錄下的文件節點數量

-->hadoop fs -count /aaa/
-createSnapshot -deleteSnapshot -renameSnapshot
以上三個用來操作hdfs 文件系統目錄信息快照
-->hadoop fs -createSnapshot /
-df #統計文件系統的可用空間信息
-du
-->hadoop fs -df -h / #後面要加-h 在linux 中-->df -Th 代表查看整個系統的可用空間情況
-->hadoop fs -du -s -h /aaa/ #查看在aaa 文件下文件所用了多少空間(也就是查看文件大小)
--> du -s -h mjh.data #查看mjh.data 文件大小
-du 統計目錄下文件大小; -du -s 彙總目錄下文件大小,單位字節; -du -h ,顯示目錄下各個
文件的大小。-du -s -h /user/hive/warehouse/table_test ,彙總該表所佔據的存儲空間,顯示單位。
[root@NewCDH-0--141 ~]# sudo -u hdfs hadoop fs -du /
46126 1610713413 /hbase
186 522 /mjh
173 519 /newdata
651 1953 /newdata.har
2119478 4314688 /tmp
589588200 1765140911 /user
[root@NewCDH-0--141 ~]# sudo -u hdfs hadoop fs -du -s /
591754814 3380172006 /
[root@NewCDH-0--141 ~]# sudo -u hdfs hadoop fs -du -s -h /
564.3 M 3.1 G /
[root@NewCDH-0--141 ~]# sudo -u hdfs hadoop fs -du -h /
45.0 K 1.5 G /hbase
186 522 /mjh
173 519 /newdata
651 1.9 K /newdata.har
2.0 M 4.1 M /tmp
562.3 M 1.6 G /user
第一列標示該目錄下總文件大小
第二列標示該目錄下所有文件在集羣上的總存儲大小和你的副本數相關,我的副本數是3 ,
所以
第二列的是第一列的三倍(第二列內容=文件大小*副本數)
第三列標示你查詢的目錄
[root@NewCDH-0--141 ~]# sudo -u hdfs hadoop fs -count -q /
9223372036854775807 9223372036854772688 none inf
2192 927 591754814 /
根目錄邏輯空間大小爲591754814B
1G=1024MB=1024X1024KB=1024X1024X1024B,也就是1G=1024x1024x1024 個字節。
591754814B=0.55111G
fs -count -q 會輸出8 列,分別表示如下:
命名空間的剩餘的命物理空間的quota 剩餘目錄文件目錄邏路徑
quota(限制文件數)名空間quota(限制空間佔用大小)
的物理空數統計數統計輯空間總大小
可以看出通過hadoop fs -count -q 可以看到一個目錄比較詳細的空間和qutoa佔用情況,包含了物理空間、邏輯空間、文件數、目錄數、qutoa 剩餘量等參考: 理解hadoop fsck 、fs -dus 、-count -q 的大小輸出:http://www.opstool.com/article/255
-help #輸出這個命令參數手冊
-setrep #設置hdfs 中文件的副本數量
-->hadoop fs -setrep 3 /aaa/jdk.tar.gz
-stat #顯示一個文件或文件夾的元信息TDH 中顯示創建的時間
-tail #顯示一個文件最後一個1KB 的信息
-text #以字符形式打印一個文件的內容

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章