二、HFDS命令行操作
1)基本語(yǔ)法
bin/hadoop fs具體命令
2)參數(shù)大全
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 ...]]
3)常用命令實(shí)操
(1)-help:輸出這個(gè)命令參數(shù)
bin/hdfs dfs -help rm
(2)-ls:顯示目錄信息
hadoop fs -ls /
(3)-mkdir:在hdfs上創(chuàng)建目錄
hadoop fs? -mkdir? -p? /hdfs路徑
(4)-moveFromLocal從本地剪切粘貼到hdfs
hadoop? fs? - moveFromLocal 本地路徑/hdfs路徑
(5)--appendToFile :追加一個(gè)文件到已經(jīng)存在的文件末尾
hadoop? fs? -appendToFile 本地路徑/hdfs路徑
(6)-cat:顯示文件內(nèi)容
hadoop fs -cat/hdfs路徑
(7)-tail -f:監(jiān)控文件
hadoop? fs? -tail -f /hdfs路徑
(8)-chmod、-chown:linux文件系統(tǒng)中的用法一樣,修改文件所屬權(quán)限
hadoop? fs? -chmod? 777? /hdfs路徑
hadoop fs -chown someuser:somegrp /hdfs路徑
(9)-cp:從hdfs的一個(gè)路徑拷貝到hdfs的另一個(gè)路徑
hadoop? fs? -cp? /hdfs路徑1? / hdfs路徑2
(10)-mv:在hdfs目錄中移動(dòng)/重命名文件
hadoop? fs? -mv? /hdfs路徑/ hdfs路徑
(11)-get:等同于copyToLocal,就是從hdfs下載文件到本地
hadoop fs -get / hdfs路徑./本地路徑
(12)-getmerge :合并下載多個(gè)文到linux本地,比如hdfs的目錄/aaa/下有多個(gè)文件:log.1,log.2,log.3,...
(注:是合成到Linux本地)
hadoop fs -getmerge /aaa/log.* ./log.sum
合成到不同的目錄:hadoop fs -getmerge /hdfs1路徑/hdfs2路徑/
(13)-put:等同于copyFromLocal
hadoop? fs? -put? /本地路徑/hdfs路徑
(14)-rm:刪除文件或文件夾
hadoop fs -rm -r /hdfs路徑
(15)-df:統(tǒng)計(jì)文件系統(tǒng)的可用空間信息
hadoop? fs? -df? -h? / hdfs路徑
(16)-du統(tǒng)計(jì)文件夾的大小信息
[itstar@bigdata111 hadoop-2.8.4]$ hadoop fs -du -s -h / hdfs路徑188.5 M? /user/itstar/wcinput
[itstar@bigdata111 hadoop-2.8.4]$ hadoop fs -du? -h / hdfs路徑188.5 M? / hdfs路徑97? ? ? / hdfs路徑
(17)-count:統(tǒng)計(jì)一個(gè)指定目錄下的文件節(jié)點(diǎn)數(shù)量
hadoop fs -count /aaa/
[itstar@bigdata111 hadoop-2.8.4]$ hadoop fs -count / hdfs路徑
1? ? ? ? ? ?2? ? ? ? ? 197657784 / hdfs路徑
嵌套文件層級(jí);包含文件的總數(shù)
(18)-setrep:設(shè)置hdfs中文件的副本數(shù)量:3是副本數(shù),可改
hadoop fs -setrep 3 / hdfs路徑

這里設(shè)置的副本數(shù)只是記錄在namenode的元數(shù)據(jù)中,是否真的會(huì)有這么多副本,還得看datanode的數(shù)量。因?yàn)槟?/p>
前只有3臺(tái)設(shè)備,最多 也就3個(gè)副本,只有節(jié)點(diǎn)數(shù)的增加到10臺(tái)時(shí),副本數(shù)才能達(dá)到10。