设为首页 加入收藏

TOP

执行Hive语句报错:FAILED: Error in metadata: javax.jdo.JDOFatalDataStoreException: Access denied for user '
2019-04-15 13:00:22 】 浏览:18
Tags:执行 Hive 语句 FAILED: Error metadata: javax.jdo.JDOFatalDataStoreException: Access denied for user '
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_16633405/article/details/78290538

安装个Hive真不省心,各种问题。最近安装好Hive后执行Hive语句时碰到这样的错误:

hive> show databases;
FAILED: Error in metadata: javax.jdo.JDOFatalDataStoreException: Access denied for user 'root'@'localhost' (using password: YES)
NestedThrowables:
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

从字面看是root用户访问权限被拒绝。那么也就是以下两个原因造成的:
1、root用户本身的设置问题。
2、mys

ql权限访问问题。
首先排除原因2:看是否由于Mysql未对root用户设置访问权限造成的。

在Mysql进行授权:
打开mysql执行下面语句(第一个单引号中的root代表的是mysql的root用户,第三个单引号中是要输入的root用户的登录密码<我这里是初始登录密码为空>。)

 mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '' WITH GRANT OPTION;

之后再执行以下语句让授权生效:

FLUSH PRIVILEGES;

但是发现问题依旧存在。
接着再排除原因1:看是够是root用户的设置问题。
经过翻墙查找,总算发现了问题的原因:因为我的hive.site文件在配置访问mysql的用户和密码时出现了问题。
这里写图片描述
因为刚装的mysql,所以root的登录密码之前为空(这里有一个疑问:第一次配置的时候,我是把hive.site文件中root的密码设为空,而当时由于刚装mysql,其用户就是root,密码本身也就是空,但是为什么Hive仍然无法访问Mysql?仍会报以上的错误?)。

后来把root的密码更改为root之后,修改相关的hive.site文件后,hive总算可以正常的执行语句了。
关于如何更改mysql中用户的密码,这里也简单说一下:
1、先启动mysql

2、然后输入:mysql -u root -p 回车,以空密码登录。
这里写图片描述

3、选择数据库:use mysql;
修改密码:UPDATE user SET password=PASSWORD(‘123456’) WHERE user=’root’;
刷新:flush privileges;
退出:exit;
这样就完成了。
这里写图片描述


编程开发网
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇HIVE metastore Duplicate key na.. 下一篇spark on hive原理与环境搭建 &nb..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(217) }