【问题标题】:Unable to access HBase table无法访问 HBase 表
【发布时间】:2011-01-25 13:32:38
【问题描述】:

我有一个由 5 个节点组成的集群,我在其上在 HBase 上创建了一些表并用数据填充它。其中一个节点出现故障,现在我可以列出 HBase 上的所有表,但扫描或禁用其中两个表会给出

NativeException: org.apache.hadoop.hbase.client.NoServerForRegionException: No server address listed in .META. for region TableName,,1295871604968

我想删除这张桌子,但无法解决这个问题。我正在为此使用 hbase shell。

【问题讨论】:

  • 对于它的价值,事后很久......我在使用 Snappy 压缩创建表时看到了这个错误,但还没有为 HBase 设置 Snappy。我尝试更改表以将压缩设置为 NONE,但错误仍然存​​在。然后我删除并重新创建了表,错误消失了。
  • 我通过访问 hbase shell 来解决我的问题,禁用“表”并启用它,感谢@WattsInABox 的想法

标签: hbase


【解决方案1】:

我通过删除.META. 表中出现错误的表的表条目解决了这个问题,然后重新创建了表。我认为.META. 表将位置保存到死节点上的区域,并且当节点死时由于某种原因无法更新区域位置。删除条目后,我能够重新创建表。我发现了一个关于它的讨论here,它帮助我走上了正确的道路。

【讨论】:

  • 您是如何删除 .META 的。条目?
  • .META. 表与任何其他表一样,因此您只需删除这些条目的行,就像删除另一个表中的行一样。
  • 我做到了,但是当我创建新表时,我遇到了同样的问题。有什么想法吗?
  • 不知道那是什么。也许您应该在上面发布一个问题,并提供您特定场景的详细信息。
【解决方案2】:

是否可以重启节点?

HBase 应该已将区域重新分配到其他节点。可能有几个原因不会发生这种情况,但我能想到的一个原因是您的 HDFS 已损坏。如果您的数据节点中没有复制(或复制低于节点故障数),则可能会发生这种情况。检查你的文件系统(hadoop fsck /)

此外,列出您正在使用的 hbase 和 hadoop 的版本也很有帮助。如果可能,使用 hadoop 0.20-append 分支迁移到 HBase 0.90 版(包含在 CDH3 中)

【讨论】:

  • 不继续重启节点,节点坏了。
【解决方案3】:

我们遇到了类似的问题,但我们发誓我们没有一个节点出现故障。然而,不管它是如何发生的(因为我们仍然不太确定),我们是如何修复它的,我们拍摄了一张乱七八糟的表的快照,并从该快照中重新创建了表。

scan 'mytable'
ERROR: No server address listed in hbase:meta for region mytable,,1408136497251.5110a0bae8315ed52af93663401ab415. containing row

事实证明,即使元表中的表被弄乱了,数据也没有被弄乱,我们能够对其进行新的快照、删除和克隆。

snapshot 'mytable', 'mytable-Snapshot-2014-08-25'
disable 'mytable'
drop 'mytable'
clone_snapshot 'mytable-Snapshot-2014-08-25', 'mytable'

【讨论】:

    【解决方案4】:

    试试

    刷新'.META.'

    major_compact '.META.'

    在 hbase shell 中并尝试再次扫描表。

    【讨论】:

      【解决方案5】:

      在我们的案例中,当有人不小心将我们的一张桌子置于“禁用”状态时,我们看到了此错误。这导致表有 0 个区域,因此“hbase:meta 中没有列出服务器地址”。解决方法是意识到它已被禁用,然后重新启用它:

      hbase is_disabled 'table name'

      hbase enable 'table name'

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-20
        • 1970-01-01
        • 2023-04-01
        相关资源
        最近更新 更多