Свинья, Oozie и HBase - java.io.IOException: Нет файловой системы для схемы: hbase
Мой сценарий Pig работает нормально сам по себе, пока я не поместил его в рабочий процесс Oozie, где я получаю следующую ошибку:
ERROR 2043: Unexpected error during execution.
org.apache.pig.backend.executionengine.ExecException: ERROR 2043: Unexpected error during execution.
...
Caused by: java.io.IOException: No FileSystem for scheme: hbase
Я успешно зарегистрировал банки HBase и Zookeeper, но получил ту же ошибку.
Я также попытался установить кворум Zookeeper, добавив вариант этих строк в сценарий Pig:
SET hbase.zookeeper.quorum 'vm-myhost-001,vm-myhost-002,vm-myhost-003'
Некоторые поиски в Интернете попросили меня добавить это в начало моего workflow.xml:
SET mapreduce.fileoutputcommitter.marksuccessfuljobs false
Это решило проблему. Я даже смог удалить регистрацию банок HBase и Zookeeper и кворума Zookeeper.
Теперь, после двойной проверки, я заметил, что мои работы действительно выполняют свою работу: они сохраняют результаты в HBase, как и ожидалось. Но, Узи утверждает, что сбой произошел, когда этого не произошло.
Я не думаю, что установка mapreduce.fileoutputcommitter.marksuccessfuljobs
в false
представляет собой решение.
Есть ли другие решения?
1 ответ
Кажется, что в настоящее время нет реального решения для этого.
Тем не менее, этот ответ на другой вопрос, похоже, указывает на то, что лучшим обходным путем является создание флага успеха "вручную".