1. hadoop dfsadmin
2. 文件系统验证(fsck)
hadoop fsck /
输出说明
2.1 over-replicated block: 说明一些文件数超出所属文件的限定
2.2 under-replicated block:文件块数未达到要求的副本数
2.3 misreplicated block :不满足块副本存储位置策略的块
2.4 corrupt blocks:所有块副本全部出现问题
2.5 missing replicas:集群中不存在副本的文件块
选项
-move : 将出现问题的文件放到HDFS的lost+found中
-delete:将出现问题的文件删除,删除后不可恢复
3. 找到一个文件的所有块
hadoop fsck /user/admin/hello.txt -files -blocks -racks
-files:显示文件名、大小、块数、是否可用
-blocks:显示每个块在文件中的信息,一个块一行
-racks:显示每个块所在机架位置以及datanode位置
4. DataNode块扫描
在dfs.DataNode.scan.period.hours属性设定default:504小时,即3周,出现问题的块会被报告给namenode
可以通过http://datanodeip:50075/blockScannerReport查看报告样本
http://datanodeip:50075/blockScannerReport?listblocks,可查看加入所有块的最新验证status信息
5.Balancer
balancer工具
1. start-balancer.sh (待确认与#hadoop balancer指令的差异)
2. stop-balancer.sh
参数:
-threshold 默认设置:10, 判断集群是否平衡的目标参数,每一个 datanode 存储使用率和集群总存储使用率的差值都应该小于这个阀值,理论上,该参数设置的越小,整个集群就越平衡
-dfs.balance.bandwidthPerSec 默认设置:1048576(1 M/S),参数含义:设置balance工具在运行中所能占用的带宽,设置的过大可能会造成mapred运行缓慢
注意:相应脚本在不同的环境目录的位置关系