HDFS 系列二:HFDS 命令行操作

2. HFDS 命令行操作

2.1 基本語法

bin/hadoop fs 具體命令

2.2 參數大全

bin/hadoop fs

[-appendToFile <localsrc> ... <dst>]
[-cat [-ignoreCrc] <src> ...]
[-checksum <src> ...]
[-chgrp [-R] GROUP PATH...]
[-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
[-chown [-R] [OWNER][:[GROUP]] PATH...]
[-copyFromLocal [-f] [-p] <localsrc> ... <dst>]
[-copyToLocal [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
[-count [-q] <path> ...]
[-cp [-f] [-p] <src> ... <dst>]
[-createSnapshot <snapshotDir> [<snapshotName>]]
[-deleteSnapshot <snapshotDir> <snapshotName>]
[-df [-h] [<path> ...]]
[-du [-s] [-h] <path> ...]
[-expunge]
[-get [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
[-getfacl [-R] <path>]
[-getmerge [-nl] <src> <localdst>]
[-help [cmd ...]]
[-ls [-d] [-h] [-R] [<path> ...]]
[-mkdir [-p] <path> ...]
[-moveFromLocal <localsrc> ... <dst>]
[-moveToLocal <src> <localdst>]
[-mv <src> ... <dst>]
[-put [-f] [-p] <localsrc> ... <dst>]
[-renameSnapshot <snapshotDir> <oldName> <newName>]
[-rm [-f] [-r|-R] [-skipTrash] <src> ...]
[-rmdir [--ignore-fail-on-non-empty] <dir> ...]
[-setfacl [-R] [{-b|-k} {-m|-x <acl_spec>} <path>]|[--set <acl_spec> <path>]]
[-setrep [-R] [-w] <rep> <path> ...]
[-stat [format] <path> ...]
[-tail [-f] <file>]
[-test -[defsz] <path>]
[-text [-ignoreCrc] <src> ...]
[-touchz <path> ...]
[-usage [cmd ...]]

2.3 常用命令實操

2.3.1 -help:輸出這個命令參數

bin/hdfs dfs -help rm

2.3.2 -ls: 顯示目錄信息

hadoop fs -ls /

2.3.3 -mkdir: 在hdfs上創建目錄

hadoop fs -mkdir -p /aaa/bbb/cc/dd

2.3.4 -moveFromLocal: 從本地剪切粘貼到hdfs

hadoop fs - moveFromLocal /home/hadoop/a.txt /aaa/bbb/cc/dd

2.3.5 -moveToLocal: 從hdfs剪切粘貼到本地

hadoop fs - moveToLocal /aaa/bbb/cc/dd /home/hadoop/a.txt

2.3.6 --appendToFile: 追加一個文件到已經存在的文件末尾

hadoop fs -appendToFile ./hello.txt /hello.txt

2.3.7 -cat: 顯示文件內容

2.3.8 -tail: 顯示一個文件的末尾

hadoop fs  -tail  /weblog/access_log.1

2.3.9 -text:以字符形式打印一個文件的內容

hadoop  fs  -text  /weblog/access_log.1

2.3.10 -chgrp 、-chmod、-chown: linux文件系統中的用法一樣,修改文件所屬權限

hadoop  fs  -chmod  666  /hello.txt
hadoop  fs  -chown  someuser:somegrp   /hello.txt

2.3.11 -copyFromLocal:從本地文件系統中拷貝文件到hdfs路徑去

hadoop  fs  -copyFromLocal  ./jdk.tar.gz  /aaa/

2.3.12 -copyToLocal: 從hdfs拷貝到本地

hadoop fs -copyToLocal /aaa/jdk.tar.gz

2.3.13 -cp: 從hdfs的一個路徑拷貝到hdfs的另一個路徑

hadoop  fs  -cp  /aaa/jdk.tar.gz  /bbb/jdk.tar.gz.2

2.3.14 -mv: 在hdfs目錄中移動文件

hadoop  fs  -mv  /aaa/jdk.tar.gz  /

2.3.15 -get: 等同於copyToLocal,就是從hdfs下載文件到本地

hadoop fs -get  /aaa/jdk.tar.gz

2.3.16 -getmerge: 合併下載多個文件,比如hdfs的目錄 /aaa/下有多個文件:log.1, log.2,log.3,…

hadoop fs -getmerge /aaa/log.* ./log.sum

2.3.17 -put: 等同於copyFromLocal

hadoop  fs  -put  /aaa/jdk.tar.gz  /bbb/jdk.tar.gz.2

2.3.18 -rm: 刪除文件或文件夾

hadoop fs -rm -r /aaa/bbb/

2.3.19 -rmdir: 刪除空目錄

hadoop fs -rmdir /aaa/bbb/ccc

2.3.20 -df: 統計文件系統的可用空間信息

hadoop  fs  -df  -h  /

2.3.21 -du: 統計文件夾的大小信息

hadoop  fs  -du  -s  -h /aaa/*

2.3.22 -count: 統計一個指定目錄下的文件節點數量

hadoop fs -count /aaa/

2.3.23 -setrep: 設置hdfs中文件的副本數量

hadoop fs -setrep 3 /aaa/jdk.tar.gz

image

這裏設置的副本數只是記錄在 Namenode 的元數據中,是否真的會有這麼多副本,還得看 Datanode 的數量

因爲目前只有3臺設備,最多也就3個副本,只有節點數的增加到10臺時,副本數才能達到10

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