HDFS_04_Hadoop集群命令
持续更新大数据
文章…
1. Hadoop集群命令
对于 Hodoop 集群的命令,你不可能完全记住,所以主要记得常用的(put、get、mkdir、rm …)即可!
遇到了要使用其他命令的情况,学会百度,学会去看官网文档就行了。
1.1 命令分类
1.1.1 Hadoop FS
FS relates to a generic file system which can point to any file systems like local, HDFS etc. So this can be used when you are dealing with different file systems such as Local FS, HFTP FS, S3 FS, and others
该命令可以用于其他文件系统,不止是hdfs文件系统内,也就是说该命令的使用范围更广
1.1.2 Hadoop DFS
专门针对hdfs分布式文件系统
1.1.3 HDFS DFS(推荐)
和上面的命令作用相同,相比于上面的命令更为推荐,并且当使用hadoop dfs时内部会被转为hdfs dfs命令
1.2 Hadoop FS 命令 ⭐️
1.2.1 介绍
调用文件系统(FS)Shell命令应使用 bin/hadoop fs 的形式。 所有的的FS shell命令使用URI路径作为参数。
URI格式是scheme://authority/path。对HDFS文件系统,scheme是hdfs,对本地文件系统,scheme是file。
其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。
一个HDFS文件或目录比如/parent/child可以表示成hdfs://namenode:namenodeport/parent/child,或者更简单的/parent/child(假设你配置文件中的默认值是namenode:namenodeport)。
大多数FS Shell命令的行为和对应的Unix Shell命令类似,不同之处会在下面介绍各命令使用详情时指出。出错信息会输出到stderr,其他信息输出到stdout。
1.2.2 网址
官方文档 :http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html
相关网站:www.huoborn.com
1.3 hdfs dfs命令
1、mkdir
创建目录
hdfs dfs -mkdir [-p] < paths>
2、ls
查看目录下内容,包括文件名,权限,所有者,大小和修改时间
hdfs dfs -ls [-R] <args>
3、put
将本地文件或目录上传到 HDFS 中的路径
hdfs dfs -put < localsrc> … < dst>
4、get
将文件或目录从 HDFS 中的路径拷贝到本地文件路径
hdfs dfs -get [-ignoreCrc] [-crc] <src> <localdst>
选项:
- -ignorecrc 选项复制 CRC 校验失败的文件
- -crc 选项复制文件和 CRC
5、du
显示给定目录中包含的文件和目录的大小或文件的长度,用字节大小表示
hdfs dfs -du [-s] [-h] URI [URI …]
选项:
- -s 选项将显示文件长度的汇总摘要,而不是单个文件
- -h 选项将以“人可读”的方式格式化文件大小(例如64.0m而不是67108864);第一列标示该目录下总文件大小,第二列标示该
目录下所有文件在集群上的总存储大小和你的副本数相关(第二列内容=文件大小*副本数),第三列标示你查询的目录
6、dus
显示文件长度的摘要
hdfs dfs -dus <args>
hdfs dfs -du -s
7、mv
在 HDFS 文件系统中,将文件或目录从 HDFS 的源路径移动到目标路径。不允许跨文件系统移动文件
8、cp
在HDFS文件系统中,将文件或目录复制到目标路径下
hdfs dfs -cp [-f] [-p | -p [topax]] URI [ URI …] <dest>
选项:
- -f 选项覆盖已经存在的目标
- -p 选项将保留文件属性[topx](时间戳,所有权,权限,ACL,XAttr)。如果指定了 -p 且没有 arg,则保留时间戳,所有权和权
限。如果指定了 -pa,则还保留权限,因为 ACL 是一组超级权限。确定是否保留原始命名空间扩展属性与 -p 标志无关
9、copyFromLocal
从本地复制文件到hdfs文件系统(与-put命令相似)
hdfs dfs -copyFromLocal <localsrc> URI
选项:如果目标已存在,则-f选项将覆盖目标
10、copyToLocal
复制hdfs文件系统中的文件到本地 (与-get命令相似)
hdfs dfs -copyToLocal [-ignorecrc] [-crc] URI <localdst>
11、rm
删除一个文件或目录
hdfs dfs -rm [-f] [-r|-R] [-skipTrash] URI [URI …]
选项:
- -f 选项将不显示诊断消息或修改退出状态以反映错误,如果文件不存在
- -R 选项以递归方式删除目录及其下的任何内容
- -r选项等效于-R
- -skipTrash 选项将绕过垃圾桶(如果已启用),并立即删除指定的文件。当需要从超配额目录中删除文件时,这非常有用
12、cat
显示文件内容到标准输出上
hdfs dfs -cat URI [URI …]
13、text
获取源文件并以文本格式输出文件。允许的格式为 zip 和 TextRecordInputStream
hdfs dfs -text
14、touchz
创建一个零长度的文件
hdfs dfs -touchz URI [URI …]
15、stat
显示文件所占块数(%b),文件名(%n),块大小(%n),复制数(%r),修改时间(%y%Y)
hdfs dfs -stat URI [URI …]
16、tail
显示文件的最后1kb内容到标准输出
hdfs dfs -tail [-f] URI
选项-:
- -f 选项将在文件增长时输出附加数据,如在 Unix 中一样
17、count
统计与指定文件模式匹配的路径下的目录,文件和字节数
hdfs dfs -count [-q] [-h] <paths>
18、getmerge
将源目录和目标文件作为输入,并将 src 中的文件连接到目标本地文件(把两个文件的内容合并起来)
hdfs dfs -getmerge <src> <localdst> [addnl]
注:合并后的文件位于当前目录,不在hdfs中,是本地文件
19、grep
从 HDFS 上过滤包含某个字符的行内容
hdfs dfs -cat <srcpath> | grep 过滤字段
20、chown
HDFS 上文件权限修改
#修改文件的所有者
hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI ]
例如:
hdfs dfs -chown -R Administrator:Administrator /user/
21、distcp
最常用在集群之间的拷贝
例如:
hadoop distcp hdfs://master1:8020/foo/bar hdfs://master2:8020/bar/foo
下期讲解 HDFS_05_元数据......