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.
- mysql
- Hadoop
- colmena
- 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.
- Inicie todos los servicios de Hadoop iniciando
start-all.sh
. - Ahora compruebe si todos los servicios de Hadoop se están ejecutando. Utilice el comando
jps
para comprobarlo. - Finalmente, ingrese el comando Hive para iniciar el shell de Hive.
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 FacebookArtículo relacionado - Java Error
- Arreglar Java fue iniciado por el código de salida devuelto = 1
- Arreglar JAVA_HOME no se puede determinar a partir del error de registro en R
- Arreglar java.io.IOException: No queda espacio en el dispositivo en Java
- Arreglar Java.IO.NotSerializableException en Java
- Arreglar Java.Lang.IllegalStateException de Android: no se pudo ejecutar el método de la actividad
- Arreglar Java.Lang.NoClassDefFoundError: No se pudo inicializar el error de clase