hbase将dfs作为存储,公司测试环境断电后,hadoop集群会因此而损坏一些block文件,这个时候,客户端在读取文件时会报一些错:
- DataXceiver error processing READ_BLOCK operation
- Got error for OP_READ_BLOCK
因为文件损坏,我直接是把损坏的文件删除
先检查损坏文件:
hadoop fsck /
输出:
注意到 CORRUPT FILES 22;表示有22个损坏的块文件
删除损坏文件:
hadoop fsck / -delete
删除后需要重启
在检查后发现损坏文件为0,之后可以登录hbase webui进去看看tables的online regions是否都正常。