本人微信公众号,欢迎扫码关注!
HDFS,它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。
HDFS的设计适合一次写入,多次读出的场景,且不支持文件的修改。适合用来做数据分析,并不适合用来做网盘应用。
1)HDFS集群包括,NameNode和DataNode以及Secondary Namenode。
2)NameNode负责管理整个文件系统的元数据,以及每一个路径(文件)所对应的数据块信息。
3)DataNode 负责管理用户的文件数据块,每一个数据块都可以在多个datanode上存储多个副本。
4)Secondary NameNode用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。
bin/hadoop fs 具体命令
bin/hadoop fs
[-appendToFile ... ]
[-cat [-ignoreCrc] ...]
[-checksum ...]
[-chgrp [-R] GROUP PATH...]
[-chmod [-R] PATH...]
[-chown [-R] [OWNER][:[GROUP]] PATH...]
[-copyFromLocal [-f] [-p] ... ]
[-copyToLocal [-p] [-ignoreCrc] [-crc] ... ]
[-count [-q] ...]
[-cp [-f] [-p] ... ]
[-createSnapshot []]
[-deleteSnapshot ]
[-df [-h] [ ...]]
[-du [-s] [-h] ...]
[-expunge]
[-get [-p] [-ignoreCrc] [-crc] ... ]
[-getfacl [-R] ]
[-getmerge [-nl] ]
[-help [cmd ...]]
[-ls [-d] [-h] [-R] [ ...]]
[-mkdir [-p] ...]
[-moveFromLocal ... ]
[-moveToLocal ]
[-mv ... ]
[-put [-f] [-p] ... ]
[-renameSnapshot ]
[-rm [-f] [-r|-R] [-skipTrash] ...]
[-rmdir [--ignore-fail-on-non-empty] ...]
[-setfacl [-R] [{-b|-k} {-m|-x } ]|[--set ]]
[-setrep [-R] [-w] ...]
[-stat [format] ...]
[-tail [-f] ]
[-test -[defsz] ]
[-text [-ignoreCrc] ...]
[-touchz ...]
[-usage [cmd ...]]
bin/hdfs dfs -help rm
hadoop fs -ls /
hadoop fs -mkdir -p /aaa/bbb/cc/dd
hadoop fs - moveFromLocal /home/hadoop/a.txt /aaa/bbb/cc/dd
hadoop fs - moveToLocal /aaa/bbb/cc/dd /home/hadoop/a.txt
hadoop fs -appendToFile ./hello.txt /hello.txt
hadoop fs -cat /user/intflag/input/liugx.txt
hadoop fs -tail /weblog/access_log.1
hadoop fs -text /weblog/access_log.1
hadoop fs -chmod 666 /hello.txt
hadoop fs -chown someuser:somegrp /hello.txt
hadoop fs -copyFromLocal ./jdk.tar.gz /aaa/
hadoop fs -copyToLocal /aaa/jdk.tar.gz
hadoop fs -cp /aaa/jdk.tar.gz /bbb/jdk.tar.gz.2
hadoop fs -mv /aaa/jdk.tar.gz /
(15)-get:等同于copyToLocal,就是从hdfs下载文件到本地
hadoop fs -getmerge /aaa/log.* ./log.sum
hadoop fs -put /aaa/jdk.tar.gz /bbb/jdk.tar.gz.2
hadoop fs -rm -r /aaa/bbb/
hadoop fs -rmdir /aaa/bbb/ccc
hadoop fs -df -h /
hadoop fs -du -s -h /aaa/*
hadoop fs -count /aaa/
注意:这里设置的副本数只是记录在namenode的元数据中,是否真的会有这么多副本,还得看datanode的数量。因为目前只有3台设备,最多也就3个副本,只有节点数的增加到10台时,副本数才能达到10。
hadoop fs -setrep 3 /aaa/jdk.tar.gz