解决 Java 异常 Unable to Instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
本篇文章介绍如何解决 java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
。
无法在Java中实例化org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
Apache Hive 是一款开源数据仓库软件,用于读取、管理和写入存储在 Hadoop 文件中的大型数据集。 它的工作原理与 SQL 类似; 有时,如果 Hadoop 和 Hive 配置不正确,可能会抛出错误 java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
。
在 Ubuntu 平台上工作时出现此错误的解决方案如下。 按照以下方法可以正常运行Hive shell,不会出现任何错误。
~/.bashrc 文件
打开主目录中的bashrc文件,并在文件末尾添加以下环境变量 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
.jar 文件
我们还需要将 .jar 文件 MySQL-connector-java-5.1.28.jar 或任何最新版本放在 Hive 主目录的 lib 目录中。
创建 hive-site.xml 文件
我们必须创建 hive-site.xml 文件,该文件将放置在 Hive 的 conf 目录中。 确保在文件中插入以下代码。
<?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>
安装所需的软件和插件
要在Ubuntu上运行Hive shell,我们必须先安装一些软件。 列表如下。
- MySQL
- Hadoop
- Hive
- Java
一旦成功安装了该软件和插件,我们就可以运行 Hive shell。
执行服务并运行 Hive Shell
最后一个方法是执行部分,我们需要执行所有服务并运行 Hive shell。 请按照以下步骤操作。
- 通过启动start-all.sh来启动所有Hadoop的服务。
- 现在检查Hadoop的所有服务是否都在运行。 使用 jps 命令进行检查。
- 最后输入Hive命令启动Hive shell。
相关文章
Java 异常 Java.IO.StreamCorruptedException: Invalid Stream Header
发布时间:2023/07/16 浏览次数:1181 分类:Java
-
本文介绍如何修复Java的 java.io.StreamCorruptedException: invalid stream header 异常。Java 中的 java.io.StreamCorruptedException: invalid stream header java.io.StreamCorruptedException: invalid stream header 是相对常见的异常。
Java 异常 Java.IO.IOException: Connection Reset by Peer
发布时间:2023/07/16 浏览次数:1586 分类:Java
-
本篇文章介绍 Java 的 java.io.IOException: Connection reset by peer。Java 中 java.io.IOException: Connection reset by peer IOException 表示读取或写入文件或访问文件系统时可能发生的任何输入输出异常。
Java 异常 Exception in Thread AWT-EventQueue-0 java.lang.NullPointerException
发布时间:2023/07/16 浏览次数:983 分类:Java
-
当我们使用 Java AWT 包方法并且将 null 值传递给任何方法时,会发生 “AWT-EventQueue-0”java.lang.NullPointerException 异常。 本教程演示如何在 Java 中解决此 NullPointerException。Java 中线程“AWT-EventQueue-0”
Java 异常 Java.Lang.IllegalMonitorStateException
发布时间:2023/07/16 浏览次数:176 分类:Java
-
IllegalMonitorStateException 与多线程编程有关。 本篇文章描述并演示了 Java 中的 IllegalMonitorStateException。Java 中的 java.lang.IllegalMonitorStateException 在 Java 中使用多线程编程时会发生 IllegalMonitorStateExce
Java 异常 Exception in Thread Main Java.Util.NoSuchElementException: No Line Fo
发布时间:2023/07/16 浏览次数:486 分类:Java
-
本篇文章介绍如何解决Java中的异常 Exception in thread "main" java.util.NoSuchElementException: No line found。java.util.NoSuchElementException 是运行时未经检查的异常
Java 异常 Java.Lang.ClassNotFoundeException: Sun.Jdbc.Odbc.JdbcOdbcDriver
发布时间:2023/07/15 浏览次数:421 分类:Java
-
本篇文章介绍了 Java 中的 java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver 错误。修复 Java 中的 java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
Java 异常 Java.Lang.ClassNotFoundException: Org.SpringFramework.Web.Servlet.Dis
发布时间:2023/07/15 浏览次数:323 分类:Java
-
今天关于 Java 的文章将介绍错误 java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet。什么是 java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
Java 异常 java.lang.AbstractMethodError
发布时间:2023/07/14 浏览次数:256 分类:Java
-
本文将帮助您了解 java.lang.AbstractMethodError 以及如何在 Java 中解决它们。修复 Java 中的 java.lang.AbstractMethodError 错误 有时,我们的程序在运行时可能会遇到 AbstractMethodError。
解决 Java 中 Java.Lang.OutOfMemoryError: GC Overhead Limit Exceeded 异常
发布时间:2023/07/13 浏览次数:133 分类:Java
-
本篇文章介绍了 Java 中的“Java.lang.outofmemoryerror: GC overhead limit exceeded”错误。Java.lang.outofmemoryerror: GC overhead limit exceeded错误