Я пытаюсь запросить базу данных 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 без проблем.