Hive: FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeE

Hive连接报错: FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

 

对于此问题表明:不能对hive元数据客户端进行实例化。

我们也都知道部署hive元数据有三种模式:Embedded(内嵌)、Local(本地)、Remote(远程),在生产环境中基本都是使用本地模式(MySQL)

 

而在安装部署hive框架的时候,我们也都是采用的MySQL。所以在安装hive之前,必须先部署好MySQL数据库。

在部署好MySQL之后,

注意:

1、我们需要在MySQL中创建一个数据库,例如:create database hive;  hive主要是用来连接MySQL数据库

一旦创建后要在hive-site.xml文件中进行配置

       <property>
          <name>javax.jdo.option.ConnectionUserName</name>
          <value>hive</value>
        </property>

也可以使用root

2、要将mysql jdbc包放置到安装的hive目录下的lib目录中

Hive: FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeE

3、在hive-site.xml文件中要指定hive的源数据库

        <property>
          <name>javax.jdo.option.ConnectionURL</name>
          <value>jdbc:mysql://hadoop001:3306/czz_hive?createDatabaseIfNotExist=true</value>
        </property>

 

<!-- czz_hive?createDatabaseIfNotExist=true表示如果在MySQL数据库中没有czz_hive的database,则会自己创建,hive的所有元数据信息也都是保存在此数据库下 -->

MySQL数据库情况:

Hive: FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeE

 

4、在启动hive之前,一定要将hdfs启动起来:start-dfs.sh

 

如果以上还没有解决此问题,请留言。。。。