tables plataforma instalar espaƱol create caracteristicas arquitectura hadoop installation hive derby

hadoop - plataforma - install hive



Problemas de instalaciĆ³n de Hive: la base de datos Hive metastore no se ha inicializado (4)

Intenté instalar colmena en una raspberry pi 2. Instalé Hive por descomprimir paquete Hive comprimido y configurar $ HADOOP_HOME y $ HIVE_HOME manualmente en hduser usuario-grupo que creé. Cuando ejecuto colmena, recibí el siguiente mensaje de error: colmena

ERROR StatusLogger No se ha encontrado ningún archivo de configuración log4j2. Usar la configuración predeterminada: registrar solo errores en la consola.

Excepción en el subproceso "principal" java.lang.RuntimeException: la base de datos Hive metastore no se inicializa. Utilice schematool (por ejemplo, / schecheol -initSchema -dbType ...) para crear el esquema. Si es necesario, no olvide incluir la opción para crear automáticamente la base de datos subyacente en su cadena de conexión JDBC (por ejemplo,? CreateDatabaseIfNotExist = true para mysql)

Así que ejecuté el comando sugerido en el mensaje de error anterior: schematool -dbType derby -initSchema Obtuve el mensaje de error:

Error: FUNCIÓN ''NUCLEUS_ASCII'' ya existe. (estado = X0Y68, código = 30000) org.apache.hadoop.hive.metastore.HiveMetaException: la inicialización del esquema ¡FALLÓ! ¡El estado del Metastore sería inconsistente! * SchemaTool falló *

Parece que no hay ninguna información útil cuando trato de googlear este error en línea. ¡Cualquier ayuda o explicación sobre cómo Hive trabaja con Derby sería apreciada!


Después de instalar colmena, si lo primero que hizo fue ejecutar colmena, colmena intentó crear / inicializar el metastore_db, pero aparentemente podría no hacerlo bien. En esa ejecución inicial, tal vez vio su error:

Exception in thread "main" java.lang.RuntimeException: Hive metastore database is not initialized. Please use schematool (e.g. ./schematool -initSchema -dbType ...) to create the schema. If needed, don''t forget to include the option to auto-create the underlying database in your JDBC connection string (e.g. ?createDatabaseIfNotExist=true for mysql)

Al ejecutar colmena, aunque falla, crea un directorio metastore_db en el directorio desde el que ejecutó colmena:

ubuntu15-laptop: ~ $>ls -l |grep meta drwxrwxr-x 5 testuser testuser 4096 Apr 14 12:44 metastore_db

Entonces, cuando intentaste ejecutar

ubuntu15-laptop: ~ $>schematool -initSchema -dbType derby

El metastore ya existía, pero no en forma completa.

Soooooo la respuesta es:

  1. Antes de ejecutar la colmena por primera vez, ejecuta

    schematool -initSchema -dbType derby

  2. Si ya ejecutó colmenas y luego trató de iniciar el esquema y está fallando:

    mv metastore_db metastore_db.tmp

  3. Re correr

    schematool -initSchema -dbType derby

  4. Ejecutar colmena de nuevo

** También es de destacar: si cambia de directorio, no se encontrará el metastore_db creado arriba. Estoy seguro de que hay una buena razón para esto que aún no sé porque estoy literalmente tratando de usar colmena por primera vez hoy. Ahhh aquí hay información sobre esto: metastore_db creado donde sea que ejecute Hive


Encontré un problema similar, que arreglé eliminando los archivos de la base de datos de derby rm -Rf $HIVE_HOME/metastore_db

Tenga en cuenta que esto eliminará su esquema por completo.

Después de limpiar el esquema anterior pude reiniciar con:

$HIVE_HOME/bin/schematool -initSchema -dbType derby

Puede diferir de donde llame colmena, intente ir al directorio de instalación de su colmena y ejecute ./bin/hive


Instalé colmena con HomeBrew (MacOS) en / usr / local / Cellar / hive y después de ejecutar schematool -dbType derby -initSchema Recibo el siguiente mensaje de error:

Inicio de la inicialización del esquema de metastore a 2.0.0 Script de inicialización hive-schema-2.0.0.derby.sql Error: FUNCIÓN ''NUCLEUS_ASCII'' ya existe. (estado = X0Y68, código = 30000) org.apache.hadoop.hive.metastore.HiveMetaException: la inicialización del esquema ¡FALLÓ! ¡El estado del Metastore sería inconsistente!

Sin embargo, no encuentro la carpeta metastore_db o metastore_db.tmp en la ruta de instalación, así que probé:

  1. find /usr/ -name hive-schema-2.0.0.derby.sql
  2. vi /usr/local/Cellar/hive/2.0.1/libexec/scripts/metastore/upgrade/derby/hive-schema-2.0.0.derby.sql
  3. Comenta la función ''NUCLEUS_ASCII'' y la función ''NUCLEUS_MATCHES''
  4. vuelva a ejecutar schematool -dbType derby -initSchema , ¡entonces todo va bien!

Espero que esto ayude a alguien.