1.命令格式有俩种
hadoop fs -command
hdfs dfs -command
2.常规命令
注:大部分命令和linux相同,所以挑点特殊的
(1)在Hadoop上指定目录创建一个文件夹
hdfs dfs -touchz /xx/xxx.txt
(2)将本机文件传到Hadoop上去
hadoop fs -put /本地文件 /hadoop目录
(3)将Hadoop上的文件下到本地目录之下
hdfs dfs -get /hadoop文件 /本机目录
~这是当前用户 当前用户 /用户名
/这是根目录
(4)将hadoop指定目录下所有内容保存为一个文件,同时down至本地
hdfs dfs -getmerge /test /test/t
这个东西好像不能递归啊,只能搞一级目录
(5)显示目录个数、文件个数和总的大小
hdfs dfs -count /
结果样例:
2 2 37 /
(6)显示每个文件和文件夹的大小
hdfs dfs -du /
结果样例:
37 111 /test
(7)将文本文件或某些格式的非文本文件通过文本格式输出
hdfs dfs -text /xxx
(8)改变一个文件的副本数
hdfs dfs -setrep -R 3 /xx
命令解释:将/xx下的所有文件,副本数改为3 -R代表递归
(9)显示文件的stat信息
hdfs dfs -stat format /xx文件
[format]可选参数有:%b(文件大小),%o(Block大小),%n(文件名),%r(副本个数),%y(最后一次修改日期和时间)
可以这样书写hadoop fs -stat %b%o%n < hdfs path >,不过不建议,这样每个字符输出的结果不是太容易分清楚
注意:是文件不是文件夹
3.一些较为高级的命令
(1)当出现一些Datanode文件过多其他文件过少时,平衡以下
hdfs balancer
(2)显示HDFS系统信息
hdfs dfsadmin -report
结果解释
Configured Capacity: 37868871680 (35.27 GB)
Present Capacity: 15305748480 (14.25 GB)
DFS Remaining: 15305699328 (14.25 GB)
DFS Used: 49152 (48 KB)
DFS Used%: 0.00%
Under replicated blocks: 1
Blocks with corrupt replicas: 0
Missing blocks: 0
Missing blocks (with replication factor 1): 0
-------------------------------------------------
Live datanodes (1):
Name: 192.168.137.251:50010 (hadoop01)
Hostname: hadoop01
Decommission Status : Normal
Configured Capacity: 37868871680 (35.27 GB)
DFS Used: 49152 (48 KB)
Non DFS Used: 22563160064 (21.01 GB)
DFS Remaining: 15305662464 (14.25 GB)
DFS Used%: 0.00%
DFS Remaining%: 40.42%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Fri Apr 05 00:58:49 PDT 2019
配置容量:37868871680 (35.27 GB)
目前容量:15305748480 (14.25 GB)
剩余DFS: 15305699328 (14.25 GB)
使用的DFS: 49152 (48kb)
DFS使用%:0.00%
复制块下:1
带有损坏副本的块:0
丢失块:0
缺失的块(带有复制因子1):0
-------------------------------------------------
生活的datanode (1):
名称:192.168.137.251:50010 (hadoop01)
主机名:hadoop01
退役状态:正常
配置容量:37868871680 (35.27 GB)
使用的DFS: 49152 (48kb)
使用非DFS: 22563160064 (21.01 GB)
剩余DFS: 15305662464 (14.25 GB)
DFS使用%:0.00%
DFS剩余百分比:40.42%
配置缓存容量:0 (0 B)
使用的缓存:0 (0 B)
剩余缓存:0 (0 B)
缓存使用%:100.00%
缓存剩下的%:0.00%
Xceivers: 1
最后联系:2019年4月05日星期五00:58:49 PDT
(3)fsck命令
-move: 移动损坏的文件到/lost+found目录下
-delete: 删除损坏的文件
-openforwrite: 输出检测中的正在被写的文件
-list-corruptfileblocks: 输出损坏的块及其所属的文件
-files: 输出正在被检测的文件
-blocks: 输出block的详细报告 (需要和-files参数一起使用)
-locations: 输出block的位置信息 (需要和-files参数一起使用)
-racks: 输出文件块位置所在的机架信息(需要和-files参数一起使用)
注意:这个delete是删除hdfs的文件,不是删除block和meta文件,区别是啥呢?
如果你的数据比较重要是不能丢失的,delete不就丢数据了嘛。