2016-07-06 4 views
0

При создании снимков в HBase я получил сообщение об ошибке с «„snapshot_name“Snapshot не был завершен в expectedTime:. 60000 мсаПроверьте HBase снимок caputred все данные

Однако, когда я затем перечислить свои текущие снимки, которые я вижу, что моментальный снимок, который возвратил ошибку, заявив, что он не был завершен в ожидаемое время, фактически был создан в любом случае.

Как сравнить этот моментальный снимок с исходной таблицей (таблица, в которой я делал снимок), чтобы убедиться, что она создала полную моментальный снимок исходной таблицы?

ответ

1

Ошибка означает, что процесс моментального снимка стоит больше времени, чем ожидалось, связанный код в HbaseAdmin.snapshot:

if (!done.getDone()) { 
    throw new SnapshotCreationException("Snapshot '" + snapshot.getName() 
     + "' wasn't completed in expectedTime:" + max + " ms", snapshot); 
} 

Но запрос отправляется на сервер, и процесс начинается снимок уже. Если вы хотите проверить, заявленные моментальные снимки, вы можете проверить его на WebUI, то URL, как:

http://your-hmaster:60010/snapshot.jsp?name=your-snapshot-name 

Если вы хотите сравнить данные, можно клонировать снимок в другую таблицу первым, и запустить карту -изменить работу для сравнения.

+0

Спасибо, я уже клонировал снимок на другой стол. Я нашел что-то, говоря, что могу запустить команду ниже, но я запустил ее из командной строки в оболочке hbase? Если да, использую ли я всю команду или только первую строку? Если мне нужно использовать деталь после «Использование:», я не уверен, что заполнить там.  \t HBase org.apache.hadoop.hbase.mapreduce.RowCounter Использование: RowCounter [опции] [ --starttime = [пуск] --endtime = [конец] [--range = [startKey], [endKey]] [ ...] ] –

+0

RowCounter http://hbase.apache.org/book.html#_rowcounter_example просто получает количество строк в указанной таблице, не сравнивая содержимое два стола. Значит, вы хотите сравнить количество строк клонированной таблицы и оригинала? вы можете просто запустить «count» your-table «» в оболочке hbase, если вы хотите, чтобы это ... –

+0

«Count » был тем, что я изначально пытался, но он слишком долго проходил, а затем терпел неудачу. Я нашел команду, чтобы вернуть счетчик MUCH быстрее, но задача сокращения никогда не запускается. Когда он закончен, он всегда говорит INFO mapreduce.Job: карта 100% уменьшает 0%. Тем не менее, он по-прежнему предоставляет количество строк. Нужно ли выполнять работу по сокращению, чтобы получить точный счет? Кроме того, многие из рабочих мест будет возвращать результат, как этот: INFO mapreduce.Job: карта 100% 0% уменьшить INFO mapreduce.Job: Работа job_123456 завершалась состояние FAILED за счет: Задание не удалось task_123456 работы не удалось, как задачи не удались. –