NameNode格式化后HBase创建新表提示旧表已存在:table already exists

1.问题出现:

在格式化NameNode后,集群上安装的OpenTSDB的表(存在hbase中)都没有了,重新运行OpenTSDB预创建表步骤报错显示table already exists

2.原因:

hadoop重新格式化后,hdfs上没有了数据,在hbase中新建表却提示Table already exists。是因为以前建过同名的表,虽然HDFS上和Hbase相关的东西都已经删除了。但是zookeeper保存有hbase表的地址,数据访问是通过zookeeper的地址转到hdfs上,这是hbase物理存储结构所决定的。因此需要将Zookeeper中的相应的表也删除。

3.解决方法:

运行Zookeeper的客户端zkCli.sh:

[root@hadoop201 hbase-1.3.1]# cd /opt/module/zookeeper-3.4.10/bin
[root@hadoop201 bin]# ./zkCli.sh

列出hbase的所有表:

[zk: localhost:2181(CONNECTED) 0] ls /hbase/table
[hbase:meta, tsdb-tree, tsdb, hbase:namespace, tsdb-uid, tsdb-meta]

删除相应的表:

[zk: localhost:2181(CONNECTED) 1]
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值