基于hadoop的Hbase集群丢失块信息后,清除Hbase数据,格式化hdfs文件系统

本文详细介绍了当HBase的元数据块丢失时,如何通过格式化HDFS和清理相关配置来重建HBase集群。包括停止所有相关服务、清除ZooKeeper版本文件、处理Hadoop临时目录和日志、格式化文件系统,以及解决重启后可能遇到的clusterID不一致问题。

可以看到在hdfs文件系统中Hbase的元数据块丢失,这是非常严重的,因本人初学,所以采用格式化的方式来重建。
在这里插入范德萨发生的第三方    图片描述
启动Hbase集群后显示如下错误:
在这里插入图片描述
1.清除数据之前先把Hbase和Hadoop及zookeeper(Hbase 依赖于zookeeper)的相关的进程都停掉
stop-hbase.sh(停Hbase进程) stop-all.sh(停Hadoop进程) zkServer.sh stop(停zookeeper)
2.下面清除hbase
删除部署了zookeeper的version文件夹(在Hbase配置文件hbase-site.xml 中查看配置的zk的本地目录)其实只留下里面的mid就行
3.再对Hadoop进行处理
删除临时目录文件
$>cd /tmp
$>rm -rf hadoop-centos
$>ssh s202 rm -rf /tmp/hadoop-centos
$>ssh s203 rm -rf /tmp/hadoop-centos
$>ssh s204 rm -rf /tmp/hadoop-centos

删除hadoop日志
$>cd /soft/hadoop/logs
$>rm -rf *
$>ssh s202 rm -rf /soft/hadoop/logs/*
$>ssh s203 rm -rf /soft/hadoop/logs/*
$>ssh s204 rm -rf /soft/hadoop/logs/*

格式化文件系统
$>hadoop namenode -format
4.重新启动hadoop和hbase
在我格式化hdfs之后重启有一个节点的datanode进程没有起来,查看日志发现错误为clusterID不一致:

  java.io.IOException: Incompatible clusterIDs in /home/centos/hadoop/dfs/data: namenode clusterID = CID-52aba6a3-4866-46d6-a8f6-2ff92f32b80c; datanode clusterID = CID-7a0b1dba-8c33-49a0-8cf9-b5fa1035cbc9

将r205中的~/hadoop下的VERSON中的 datanode clusterID 修改为与namenode clusterID一致即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值