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

Sheeraz Gul 20 junio 2023
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.

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.
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

Artículo relacionado - Java Error