HOWTO · Java
org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient kann nicht instanziiert werden
Dieses Tutorial zeigt, wie Sie die java.lang.RuntimeException lösen: org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient kann nicht in Java instanziiert werden.
Auf dieser Seite
Dieses Tutorial zeigt, wie man java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient löst.
org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient kann nicht instanziiert werden in Java
Apache Hive ist eine Open-Source-Data-Warehouse-Software zum Lesen, Verwalten und Schreiben der großen Datensätze, die in Hadoop-Dateien gespeichert sind. Es funktioniert ähnlich wie SQL; Manchmal, wenn Hadoop und Hive nicht richtig konfiguriert sind, kann es den Fehler java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient auslösen.
Die Lösung für diesen Fehler beim Arbeiten auf der Ubuntu-Plattform finden Sie unten. Befolgen Sie die nachstehenden Methoden, um die Hive-Shell ordnungsgemäß und ohne Fehler auszuführen.
die ~/.bashrc-Datei
Öffnen Sie die Datei bashrc im Home-Verzeichnis und fügen Sie am Ende der Datei sudo gedit ~/.bashrc die folgenden Umgebungsvariablen hinzu.
# 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
die .jar-Datei
Wir müssen auch die .jar-Datei MySQL-connector-java-5.1.28.jar oder eine aktuelle Version im lib-Verzeichnis von Hive home ablegen.
Erstellen Sie die Datei hive-site.xml
Wir müssen die Datei hive-site.xml erstellen, die im Verzeichnis conf von Hive abgelegt wird. Stellen Sie sicher, dass Sie den folgenden Code in die Datei einfügen.
<?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>
Installieren Sie die erforderliche Software und Plug-ins
Um die Hive-Shell auf Ubuntu auszuführen, müssen wir zuerst ein paar Software installieren. Die Liste ist unten angegeben.
- MySQL
- Hadoop
- Bienenstock
- Java
Sobald diese Software und Plugins erfolgreich installiert sind, können wir die Hive-Shell ausführen.
Führen Sie Dienste aus und führen Sie die Hive-Shell aus
Die letzte Methode ist der Ausführungsteil, in dem wir alle Dienste ausführen und die Hive-Shell ausführen müssen. Folgen Sie den unteren Schritten.
- Starten Sie alle Dienste von Hadoop, indem Sie
start-all.shstarten. - Prüfen Sie nun, ob alle Dienste von Hadoop laufen. Verwenden Sie den Befehl
jps, um dies zu überprüfen. - Geben Sie abschließend den Hive-Befehl ein, um die Hive-Shell zu starten.