赞
踩
在安装hive时,初始化mysql元数据报错
Underlying cause: java.sql.SQLException : null, message from server: “Host ‘192.168.40.136’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’”
SQL Error code: 1129
Use --verbose for detailed stacktrace.
*** schemaTool failed ***
以及进入hive时候的交互式命令,随便输入任何命令,比如show tables出错
FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient()
在hive交互式环境中,输入hive sql报错,内容就是无法初始化hive元数据。初始化hive元数据报错,原因在于hive无法连接mysql进行存放元数据。那么如果只要能连接到mysql,就能存放元数据,能存放元数据就能够hive问题所在了。无法连接mysql原因是mysql版本是8.0而连接mysql驱动jar是5.1. ,低版本的jar包不能够连接高版本mysql(通常上,版本问题一般只有向下兼容,没有向上兼容)。只需要换个将mysql驱动包换成8.0。或者降低mysql版本就可以了。最后确认一下配置文件信息大功告成。
1 配置信息:注意自己mysql是否有创建hive数据库,还有hive用户的密码,还有是否授权允许所有主机连接访问
mysql -u root -p 登入数据库
create database hive; 创建hive数据库
show databases; 查看数据库是否有hive
use mysql 进入mysql; 数据库
create user ‘hive’@‘%’ identified by ‘123456’; 创建hive用户,密码123456,并且允许所有主机访问
grant all privileges on . to ‘hive’@‘%’; 赋予hive用户所有权利
flush privileges 刷新
select user,host from user; 查看是否有hive用户
退出mysql 格式化元数据
schematool -dbType mysql -initSchema
将mysql8.0驱动复制到hive文件下的lib目录下,并且删除原来低版本驱动jar包
进入hive/conf/ 修改hive-site.xml 配置文件
<?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:3306/hive?createDatabaseIfNotExist=true</value> <description>JDBC connect string for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>Driver class name for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hive</value> <description>username to use against metastore database</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>123456</value> <description>password to use against metastore database</description> </property> </configuration> 在这里插入代码片
最后启动hive,输入命令不报错 ,大功告成 。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。