hbase非正常删除表之后,以原来表名删除和创建时报错问题
今天在重新格式化了hadoop集群之后出现了一系列问题,记录下。
先说下重启的原因
(1)首先是必备条件,我们的hadoop集群式测试环境,里面的数据不太多,大多数都是我们人工加上去的,
(2)hadoop的HA有问题。一个namenode总是启动不了(原因是namenode数据文件没有同步,将hadoop.tmp.dir指定的目录在其他namenode上同步就好了)。
(3)mapreduce任务执行明显的卡顿,以前一分钟的demo在执行的时候会 停一段时间(暂时这么说,停可能用的不太准确)有的一种等待,有的十分钟之后才执行完,(目前不知道原因,欢迎大神分享)
hadoop格式化会丢失所有数据偶
由于hadoop的HDFS中的数据全部清零了,hbase中的表也就不存在了,但是在hbase中创建表的时候,却出现了表已存在的提示(使用原来的名字)当通过drop删除时却提示表不存在,前后矛盾。
马上想到可能是hbase中的表未正常删除造成的原因,部分元数据可能还是存在的,小编通过百度获知,hbase中有一部分元数据在zookeeper中,进入zookeeper客户端模式通过如下命令查看zookeeper中hbase表的元数据
ls /hbase/table
可以看到以前没通过正常途径删除的hbase表名都在这里。
通过如下命令删除就可以正常建表了
rmr /hbase/table/表名
问题解决。