Hive没法使用DDL/return code 1错误/MetaStore错误/

    mysql版本:5.6.25java

    hive版本:0.12   
mysql

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

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没有受权的缘由,立马使用:apache

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

        > FLUSH PRIVILEGES;
oop

进行受权以后,经过远程登陆:mysql -h master.hadoop -u root -P 3306 -p123,出现错误:this

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

看上面的信息得知密码正确,可是要从新设置密码,因而:code

        > SET PASSWORD = PASSWORD('123');
xml

接着从新执行远程登陆又出现:   

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; 结果出来了

相关文章
相关标签/搜索