3.hdfs命令和测试
1.hdfs客户端上传本地文件到hdfs系统中的命令:
A:将文件存入hdfs文件系统
hdfs dfs -put ./hadoop-2.4.1-x64.tar.gz hdfs://linux-hadoop:9000/
hdfs:代表是hdfs命令
-put:上传
hdfs://linux-hadoop:9000/ hdfs的根目录中
B:查看hdfs中文件存放的物理地址(我的hdfs默认的tmp文件夹是/usr/software/hadoop-2.4.1/tmp)
ll /usr/software/hadoop-2.4.1/tmp/dfs/data/current/BP-736695763-10.2.6.129-1468807234798/current/finalized/ 结果如:
-rw-r--r--. 1 root root 124191203 Jul 19 16:44 blk_1073741825(文件块)
-rw-r--r--. 1 root root 970251 Jul 19 16:44 blk_1073741825_1001.meta(文件完整性检测指标)
2.客户端下载hdfs文件系统的文件的命令:
A:下载文件
hdfs dfs -get hdfs://linux-hadoop:9000/hadoop-2.4.1-x64.tar.gz
默认下载到当前pwd
3.如何不是用hdfs文件系统将文件块拼成一个完整的文件
原理:hdfs文件系统获取文件也是找到文件的次序依次拼接。
我们可以在finalized文件块目录里面拼接。
A:先建立一个空文件
touch hadoop.tar.gz
B:依次拼接(我们只有一块,有多块按次序拼接即可)
cat blk_1073741825 >> hadoop.tar.gz
拼接成的文件还是可用的。
4.查看hdfs帮助
命令:hdfs dfs
[-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>] 将本地文件copy到hdfs,和put一样
[-copyToLocal [-p] [-ignoreCrc] [-crc] <src> ... <localdst>] 和get一样
[-count [-q] <path> ...] 计算path下的文件个数
[-cp [-f] [-p] <src> ... <dst>] hdfs内部copy
[-createSnapshot <snapshotDir> [<snapshotName>]]
[-deleteSnapshot <snapshotDir> <snapshotName>]
[-df [-h] [<path> ...]] path剩余的磁盘空间
[-du [-s] [-h] <path> ...] 查看path的文件目录中文件占用的内存
[-expunge]
[-get [-p] [-ignoreCrc] [-crc] <src> ... <localdst>] 获取hdfs的文件到本地
[-getfacl [-R] <path>]
[-getmerge [-nl] <src> <localdst>]
[-help [cmd ...]]
[-ls [-d] [-h] [-R] [<path> ...]] 查看某个目录的文件
[-mkdir [-p] <path> ...] 创建一个文件夹 -p代表批量
[-moveFromLocal <localsrc> ... <dst>] 剪切本地文件到hdfs
[-moveToLocal <src> <localdst>] 剪切hdfs到本地
[-mv <src> ... <dst>] 内部剪切
[-put [-f] [-p] <localsrc> ... <dst>] 将本地文件传到hdfs
[-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 ...]]
使用其中一个命令的操作如:
hdfs dfs -ls / 意思是查看hdfs文件系统的 / 目录下的文件(必须指定你要查看的目录路径) 结果如:
-rw-r--r-- 1 root supergroup 124191203 2016-07-19 16:44 /hadoop-2.4.1-x64.tar.gz
权限 所属用户 文件组名

浙公网安备 33010602011771号