解决 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 连接 FTPS 服务器
发布时间:2023/07/14 浏览次数:76 分类:Java
-
安全文件传输协议 (FTPS) 是文件传输协议 (FTP) 的安全版本,它使用 SSL/TLS 加密来保护客户端和服务器之间传输的数据。 本文将介绍如何使用 Java 安全通道 (JSSE) API 连接到 Java 中的 FTPS 服务器。
使用 Java 创建 X.509 证书
发布时间:2023/07/14 浏览次数:107 分类:Java
-
X.509 是一种广泛使用的公钥基础设施 (PKI) 标准,用于保护和验证互联网上的交易。本文将教我们如何使用 Java 创建 X.509 证书。
Java 中错误 Unsupported Major Minor Version
发布时间:2023/07/14 浏览次数:68 分类:Java
-
出现 Unsupported Major.minor version 错误或 Java.lang.UnsupportedClassVersionError 的原因是运行时 JDK 较低,编译时 JDK 较高。 本篇文章介绍如何解决Java中不支持的major.minor版本。
Java 错误 Error:Java: Javactask: Source Release 1.8 Requires Target Release 1.8
发布时间:2023/07/14 浏览次数:200 分类:Java
-
在使用IntelliJ for Java时,无法编译Java程序是一个常见的问题。 本教程提供了此错误的解决方案。Error:Java: Javactask: Source Release 1.8 Requires Target Release 1.8 错误
修复 Java 中无法打开 jvm.cfg 的问题
发布时间:2023/07/14 浏览次数:133 分类:Java
-
有时,我们认为一切都按预期进行,但有些问题却隐藏在幕后。 今天,我们将讨论类似的情况并确定可能的解决方案。Java 中的无法打开 jvm.cfg 错误 当我们将计算机更新到 Windows 10 但后来由于
修复 Java 中错误 Error: Else Without if
发布时间:2023/07/13 浏览次数:183 分类:Java
-
本篇文章我们将了解在用 Java 编写代码时只说 'else' without 'if' 的错误。 我们还将找出导致此错误的可能原因并找到解决方案。Java 中 error: 'else' without 'if'
Java 中 The System Cannot Find the File Specified
发布时间:2023/07/13 浏览次数:99 分类:Java
-
本篇文章介绍如何解决 Java 中的 The system cannot find the file specified 错误。修复Java中 The system cannot find the file specified 错误
Java 中的无效字符常量
发布时间:2023/07/13 浏览次数:152 分类:Java
-
本 Java 文章将讨论无效字符常量。 但在此之前,我们需要了解字符常量。Java字符常量 单字符常量,也称为字符常量,是封装在一对 '' 或单引号中的单个字符。
解决 Java 中 Missing Method Body or Declare Abstract
发布时间:2023/07/13 浏览次数:68 分类:Java
-
本篇文章讨论编译时错误、missing method body, or declare abstract。 在这里,我们将经历三个不同的步骤。首先,我们将了解一个Java程序来了解错误。 其次,突出显示此错误的可能原因,并最终找到