Причина Описание причины проблемы.
Ошибка «Недостаточно памяти» (OOM) в данном случае является результатом того, что на сервере недостаточно памяти для запуска службы HiveMetaStore.
RCA
Служба HiveMetaStore настроена в hive-site.xml на стороне клиента, но служба не запущена.
Например:
/etc/gphd/hive-0.11.0_gphd_2_1_0_0/conf/hive-site.xml
<property>
<name>hive.metastore.uris
<value>thrift://hdw1.viadea.com:9083
</property>
Однако на hdw1:
-bash-4.1$ service hive-metastore status
hive-metastore dead but pid file exists
После просмотра hive-metastore.log вы можете увидеть, что причина, по которой служба не запустилась, была вызвана ошибкой нехватки памяти (OOM), как показано в примере ниже:
14/04/07 16:43:13 WARN conf.HiveConf: УСТАРЕЛО: свойство конфигурации hive.metastore.local больше не имеет никакого эффекта. Убедитесь, что вы указали правильное значение для hive.metastore.uris, если вы подключаетесь к удаленному метастару.
ВНИМАНИЕ: org.apache.hadoop.metrics.jvm.EventCounter устарела. Пожалуйста, используйте org.apache.hadoop.log.metrics.EventCounter во всех файлах log4j.properties.
Не удалось инициализировать библиотеку - невозможно выделить таблицу дескрипторов файлов - недостаточно памяти
Процедура
Чтобы решить эту проблему, выполните следующие действия:
1. Понять, почему служба HiveMetaStore не запускается. В этом случае увеличьте физическую память сервера.
2. Затем запустите службу HiveMetaStore вручную, используя пользователя root.
service hive-metastore start