hbase创建表提示表已经存在而list显示无该表的处理

一、问题复现

这个问题是我在学习传智播客《Spark项目实战》时遇到的,提交submit任务显示成功,但是查看hbase的时候,发现top10没有创建成功,查看日志发现,表top10已经存在,但是使用list命令查不到该表.
image.png
错题日志如下所示:

org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hbase.TableExistsException): top3
	at org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.prepareCreate(CreateTableProcedure.java:301)
	at org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.executeFromState(CreateTableProcedure.java:108)
	at org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.executeFromState(CreateTableProcedure.java:58)
	at org.apache.hadoop.hbase.procedure2.StateMachineProcedure.execute(StateMachineProcedure.java:119)
	at org.apache.hadoop.hbase.procedure2.Procedure.doExecute(Procedure.java:452)
	at org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execProcedure(ProcedureExecutor.java:1066)
	at org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execLoop(ProcedureExecutor.java:855)
	at org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execLoop(ProcedureExecutor.java:808)
	at org.apache.hadoop.hbase.procedure2.ProcedureExecutor.access$400(ProcedureExecutor.java:75)
	at org.apache.hadoop.hbase.procedure2.ProcedureExecutor$2.run(ProcedureExecutor.java:494)

二、原因分析

在删除一个表之前,disable的时候不小心断开或其他因素导致disable没有成功,然后就直接drop掉了这张表,虽然表被删除掉了,但是zookeeper依然存在该表的信息,故而造成错误,list的时候也找不到。

三、解决方案

进入zookeeper安装文件夹bin下,
运行./zkCli.sh,进入zookeeper客户端,登陆成功出现如下提示:
image.png

  1. 运行 ls / 查看根目录下的文件夹,目录如下所示:

image.png

  1. 进入 /hbase/table 文件夹,如果文件夹下边存在top10,删除,然后重启hbase,问题得以解决。(注:重启过程中可能会出现master: java.net.BindException: Address already in use master: at sun.nio.ch.Net.bind。。。。的错误,是因为zookeeper已经启动,可以先手动关闭zookeeper,然后再启动hbase)

image.png

  1. 使用命令rmr /hbase/table/top10删除表后,重启hbase即可

四、参考链接

原文链接:https://blog.csdn.net/weixin_45751589/article/details/105265817

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值