hbase数据块损坏,导致hadoop进入安全模式,hbase不能使用,jar包不能运行的情况,处理办法,ERROR: ..hadoop.hbase.Server is not running yet

我一开始运行jar包,出现一下问题,仔细一看是节点没有启动,就去启动hbase看看
在这里插入图片描述但是,进入hbase后,输入命令会有如下报错,
在这里插入图片描述到网上搜了一下,说是hadoop进入了安全模式,所导致的,把关了就行,
一般都是数据块损坏导致进入了安全模式,这时候,
1、可以选择强制退出安全模式,
2、或者修改配置文件hdfs-site.xml,降低进入安全模式的阈值
默认值是0.999,将值该小就行

<name>dfs.namenode.safemode.threshold-pct</name>
<value>o.999f</value>

退出安全模式后,重启hbase的服务,进入之后,输入命令,又出现了如下的错误
在这里插入图片描述然后去查看hbase的日志文件,下面4个都可以看一下,查看后200行就可以

tail -n 200 xxx

在这里插入图片描述后来在日志文件中查出如下错误
在这里插入图片描述是数据丢了。
没错,一开始进入安全模式的原因就是数据块损坏丢失了,丢的正好是hbase的,所以导致hbase不能正常使用

使用下面命令,查看丢失的数据块

// 执行以下命令查看是否有块缺失
hdfs fsck /

查出数据如下,可以看到丢失的块数,可数据的大小
在这里插入图片描述通过如下命令,查看丢失数据块的位置
hdfs fsck -list-corruptfileblocks
效果如下,因为我都删除了,所有没有了路径,不然是有路径的
在这里插入图片描述找到损坏文件的位置之后,你可以选择删除,也可以恢复,
这里我选择的是删除
rm 后面的就是找出来的损坏文件的位置,直接删除,进入回收站

hdfs dfs -rm /hbase/oldWALs/singlenode%2C16020%2C1631667766083.1631682195417 

删除结束后,在运行命令看看,有没有损坏的数据块

hdfs fsck /

如下图就是没有损坏的数据块了
在这里插入图片描述随后,关闭所有服务,然后重启就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值