Улей не обнаруживает текущий наменоде - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь запросить базу данных Hive с Hive и Zeppelin, но я получаю эту ошибку:

SemanticException Unable to fetch table table_name. org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.StandbyException): Operation category READ is not supported in state standby

Я получаю 2 имени: A и B, когда A активен и B в состоянии ожидания, я могу запросить свою таблицу безпроблемы.

hdfs haadmin -getServiceState A
active
hdfs haadmin -getServiceState B
standby

если я переключаю оба состояния с помощью:

hdfs haadmin -failover A B

A находится в режиме ожидания и B теперь активен

hdfs haadmin -getServiceState A
standby
hdfs haadmin -getServiceState B
active

теперь мой запрос неработать и получить ошибку:

SemanticException Unable to fetch table table_name. org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.StandbyException): Operation category READ is not supported in state standby

это говорит о том, что мой Hive хорошо настроен для HA:

hive --config /etc/hive/conf/conf.server --service metatool -listFSRoot
Listing FS Roots..
hdfs://HA-NAME/apps/hive/warehouse
hdfs://HA-NAME/apps/hive/warehouse/table1.db
hdfs://HA-NAME/apps/hive/warehouse/table2.db
...

, но с командой: show create table1 в Hive, я получаю: LOCATION ' hdfs://A/data/.... '

Проблемный шов получен из Наменода B, или Улей всегда использует Наменод A в качестве активного Наменода, даже если он находится в режиме ожидания.

Я использую имя HA для подключения моей kafka к HDFS без проблем.

1 Ответ

0 голосов
/ 04 февраля 2019

проблема решена путем переноса моей таблицы из А в имя HA.

до того, как я получил:

show create table1 
LOCATION ' hdfs://A/data/.... '

я удалил таблицу, файл hdfs и создал ее снова с именем HA в качестве местоположения.

show create table1 
LOCATION ' hdfs://HA-NAME/data/.... '

и все работает

...