HOWTO · Java

No se puede crear una instancia de org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

Este tutorial demuestra cómo resolver java.lang.RuntimeException: No se puede crear una instancia de org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient en Java.

En esta página

Este tutorial demuestra cómo resolver java.lang.RuntimeException: no se puede crear una instancia de org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient.

No se puede crear una instancia de org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient en Java

Apache Hive es un software de almacenamiento de datos de código abierto para leer, administrar y escribir grandes conjuntos de datos almacenados en archivos de Hadoop. Funciona de forma similar a SQL; a veces, si Hadoop y Hive no están configurados correctamente, puede arrojar el error java.lang.RuntimeException: no se puede instanciar org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient.

La solución a este error mientras se trabaja en la plataforma Ubuntu se encuentra a continuación. Siga los métodos a continuación para ejecutar el shell de Hive correctamente sin errores.

el archivo ~/.bashrc

Abra el archivo bashrc en el directorio de inicio y agregue las siguientes variables de entorno al final del archivo sudo gedit ~/.bashrc.

# directory configuration for JAVA_HOME
export JAVA_HOME="/usr/lib/jvm/java-9-oracle"
export PATH="$PATH:$JAVA_HOME/bin"

# directory configuration for HADOOP_HOME
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

export HIVE_HOME=/usr/lib/hive
export PATH=$PATH:$HIVE_HOME/bin

el archivo .jar

También necesitamos poner el archivo .jar MySQL-connector-java-5.1.28.jar o cualquier versión más reciente en el directorio lib de Hive home.

Cree el archivo hive-site.xml

Tenemos que crear el archivo hive-site.xml, que se colocará en el directorio conf de Hive. Asegúrese de insertar el siguiente código en el archivo.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>root</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>root</value>
</property>

<property>
  <name>datanucleus.autoCreateSchema</name>
  <value>true</value>
</property>

<property>
  <name>datanucleus.fixedDatastore</name>
  <value>true</value>
</property>

<property>
 <name>datanucleus.autoCreateTables</name>
 <value>True</value>
 </property>

</configuration>

Instale el software y los complementos necesarios

Para ejecutar Hive Shell en Ubuntu, primero debemos instalar algunos programas. La lista se proporciona a continuación.

  1. mysql
  2. Hadoop
  3. colmena
  4. Java

Una vez que este software y los complementos se hayan instalado correctamente, podemos ejecutar el shell de Hive.

Ejecutar servicios y ejecutar Hive Shell

El método final es la parte de ejecución, donde necesitamos ejecutar todos los servicios y ejecutar el shell de Hive. Siga los pasos a continuación.

  1. Inicie todos los servicios de Hadoop iniciando start-all.sh.
  2. Ahora compruebe si todos los servicios de Hadoop se están ejecutando. Utilice el comando jps para comprobarlo.
  3. Finalmente, ingrese el comando Hive para iniciar el shell de Hive.