Невозможно получить доступ к таблице HBase - PullRequest
3 голосов
/ 25 января 2011

У меня есть кластер из 5 узлов, на котором я создал несколько таблиц на HBase и заполнил их данными. Сбой одного из узлов, и теперь я могу перечислить все таблицы на HBase, но сканирование или отключение двух таблиц дает

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

Я хочу отбросить эту таблицу, но не могу обойти эту проблему. Для этого я использую оболочку hbase.

Ответы [ 5 ]

2 голосов
/ 28 января 2011

Я решил проблему, удалив записи таблицы в таблице .META. для таблиц, которые выдавали ошибку, а затем воссоздали таблицу. Я думаю, что таблица .META. сохранила местоположение в область на мертвом узле и там, где не удалось обновить местоположение региона по какой-то причине, когда узел умер. После того, как записи были удалены, я смог воссоздать таблицу. Я нашел обсуждение этого вопроса здесь , которое помогает направить меня на правильный путь.

1 голос
/ 26 января 2011

Возможно ли перезапустить узел?

HBase должен был перераспределить регионы на другие узлы. Вероятно, есть несколько причин, по которым этого бы не произошло, но одна из них, о которой я могу вспомнить, это то, что у вас поврежденная HDFS. Это может произойти, если у вас нет репликации в ваших узлах данных (или репликация становится меньше числа отказов узлов). Проверьте вашу файловую систему (hadoop fsck /)

Также полезно перечислить используемую версию hbase и hadoop. Если возможно, перейдите на версию 0.90 HBase с ветвью hadoop 0.20-append (входит в CDH3)

0 голосов
/ 13 февраля 2018

В нашем случае мы видели эту ошибку, когда кто-то случайно оставил одну из наших таблиц в состоянии «отключено».Это привело к тому, что в таблице было 0 регионов и поэтому «в hbase: meta отсутствует адрес сервера».Исправление состояло в том, чтобы понять, что оно было отключено, а затем снова включить его:

hbase is_disabled 'table name'

hbase enable 'table name'

0 голосов
/ 05 января 2017

try

flush '.META.'

и

major_compact '.META.'

в оболочке hbase и попробуйте снова отсканировать таблицу.

0 голосов
/ 25 августа 2014

Мы столкнулись с подобной проблемой, но клянемся, что у нас не было выхода из строя.Однако, независимо от того, как это произошло (поскольку мы все еще не совсем уверены), как мы это исправили, мы сделали снимок испорченной таблицы и воссоздали таблицу из этого снимка.

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'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...