内容纲要
概要描述
重启 Hyperbase 后,集群短时间内正常,没过一会儿可能出现部分 regionserver 不健康的情况,访问对应节点的 /var/log/hyperbase1
下 regionserver 日志,可以看到如下报错:
java.lang.IllegalArgumentException:offset(8) + length(2) exceed the capacity of the array: 0
详细描述
具体的报错截图如下:
问题原因
hdfs的/hyperbase1/WALs 路径下,对应 regionserver 的 WAL 文件损坏
解决方法
1、停止往hyperbase里写入的业务,并停止 hyperbase
2、备份并删除 hdfs 上的 /hyperbase1/WALs
hdfs dfs -get /hyperbase1/WALs /tmp
hdfs dfs -rm -r /hyperbase1/WALs/*
3、重新启动 Hyperbase