千家信息网

Hive无法使用DDL怎么办

发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,这篇文章主要介绍Hive无法使用DDL怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!mysql版本:5.6.25hive版本:0.12刚刚安装配置完hive,启动hive
千家信息网最后更新 2025年02月06日Hive无法使用DDL怎么办

这篇文章主要介绍Hive无法使用DDL怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

mysql版本:5.6.25

hive版本:0.12

刚刚安装配置完hive,启动hive客户端,输入show databases;发现出现如下错误:

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient

分析原因:

一开始以为是版本出什么冲突,后来发现不是这么回事,打开MySQL查了一下数据库(show databases;),发现在hive-site.xml中配置的数据库没有在MySQL中创建,怀疑是MySQL没有授权的原因,立马使用:

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

> FLUSH PRIVILEGES;

进行授权之后,通过远程登录:mysql -h master.hadoop -u root -P 3306 -p123,出现错误:

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

看上面的信息得知密码正确,但是要重新设置密码,于是:

> SET PASSWORD = PASSWORD('123');

接着重新执行远程登录又出现:

ERROR 1045 (28000): Access denied for user 'root'@'hadoop.master' (using password: YES)

这个也不知道是什么问题,估计是考虑到安全问题不给直接GRANT ALL ON ...命令吧,最后执行如下命令:

> SET PASSWORD FOR 'root'@'hadoop.master' = PASSWORD('123');

OK!问题解决了,启动HIVE,输入SHOW DATABASES; 结果出来了

以上是"Hive无法使用DDL怎么办"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

0