Linux打开hive出现Logging initialized using configuration in jar:file:/usr/local/hive/lib/hive-common-2.1.0.jar!/hive-log4j2.properties Async: true
Exception in thread “main” java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
**问题描述:**在打开hive的过程中出现Logging initialized using configuration in jar:file:/usr/local/hive/lib/hive-common-2.1.0.jar!/hive-log4j2.properties Async: true
Exception in thread “main” java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient,在多番查询并尝试后问题得以解决。
解决思路描述原来是hive要用mysql作为元数据库,要往hive的lib目录下放入一个mysql-connector的jar包。
情况如下:
1.在linux终端中打开hive
2.出现下列错误
解决方法
1、下载完mysql-connector-java-8.0.20.tar.gz后,在linux解压
2、把mysql-connector-java-8.0.20.tar.gz下的mysql-connector-java-8.0.20.jar移动到/usr/local/hive/lib目录下
3、 启动并登陆mysql shell
4、在mysql中新建hive数据库并配置mysql允许hive接入
5、 启动hive(记得先启动Hadoop集群)
到这步我这里出现了Hive metastore database is not initialized的错误
出错原因:以前曾经安装了Hive或MySQL,重新安装Hive和MySQL以后,导致版本、配置不一致。
解决方法:使用schematool工具。Hive现在包含一个用于 Hive Metastore 架构操控的脱机工具,名为 schematool.此工具可用于初始化当前 Hive 版本的 Metastore 架构。此外,其还可处理从较旧版本到新版本的架构升级。如下图,
然后再重新启动hive
问题解决辽!!!