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; 結果出來了

相關文章
相關標籤/搜索