zoukankan      html  css  js  c++  java
  • 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] rmr /hbase/table/hbase:meta
    [zk: localhost:2181(CONNECTED) 3] rmr /hbase/table/tsdb-tree 
    [zk: localhost:2181(CONNECTED) 5] rmr /hbase/table/tsdb     
    [zk: localhost:2181(CONNECTED) 6] rmr /hbase/table/hbase:namespace
    [zk: localhost:2181(CONNECTED) 7] rmr /hbase/table/tsdb-uid
    [zk: localhost:2181(CONNECTED) 9] rmr /hbase/table/tsdb-meta
    [zk: localhost:2181(CONNECTED) 10] quit

    重新创建成功。

    参考

    https://blog.csdn.net/s243471087/article/details/82854374

  • 相关阅读:
    Java基础之多线程没那么复杂!
    高性能Java RPC框架Dubbo与zookeeper的使用
    Java 学习之集合类(Collections)
    Java中List与数组互相转化
    AOJ-542-Window/POJ-2823-Window
    HDU-1074-Doing Homework
    HDU-5365-Run
    HDU-5366-The mook jong
    HDU-5391-Zball in Tina Town
    AOJ-351-求最值之差
  • 原文地址:https://www.cnblogs.com/MWCloud/p/11449320.html
Copyright © 2011-2022 走看看