对于配置hive时所遇到的问题之一,都很头疼,在此总结一下遇到此问题的解决方法;

avatar
作者
筋斗云
阅读量:14

对于配置hive时所遇到的问题之一,都很头疼,在此总结一下遇到此问题的解决方法;

1、用户’root’@‘localhost’(使用密码:YES)拒绝访问

在这里插入图片描述

出现这种原因有以下原因及解决方法:

1、密码错误 用这个账号和密码登录mysql能够登录,但是当用schematool对mysql进行初始化的时候却出错。原因就在于mysql的安装。。。。利用hive初始化数据库的时候是随机找的,可能找到的是没有密码,和hive-site.xml文件中的配置不匹配,导致出错。这个mysql是用来装元数据的。

解决方法 把数据库里面的不是%的数据全部删除【确保hive-site.xml中配置正确的前提下】

注: '%'表示全部用户

现象描述:

Hive本地模式schematool无法初始化mysql数据库。

步骤

mysql -uroot -p      
select host from user;
delete from user where host<>'%';
select host from user;
exit
service mysqld restart
schematool -initSchema -dbType mysql

在这里插入图片描述

在这里插入图片描述

初始化成功:

在这里插入图片描述

第二种解决方法:

登录mysql

查看资料找到的方法

set password for root@s150=password(‘root’);

2、当前用户操作mysql数据库的权限不够

方法:

进入到mysql数据库,进行权限分配

执行:

sqgrant all privileges on *.* to 'root'@'hadoop01' identified by 'root' with grant option;

然后执行:

flush privileges;

flush privileges;

3、创建数据库,配置用户和权限

如果没有数据库可以先创建数据库metastore

create database metastore;

grant all on metastore.* to hive@'%'  identified by ' P@ssw0rd';

grant all on metastore.* to hive@'localhost'  identified by ' P@ssw0rd';  

flush privileges;

还有一种就是仔细检查hive-site.xml配置文件内容,一个小细节都会使其报错。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!