2016-09-13 19 views
0

私はhadoopクラスタにmysqlをMetaStoreとしてインストールしました。ハイブは昨日までHDFSの実際の.orcファイルが削除されたテーブルを削除しようとするまでうまくいきました。テーブルを削除した後にハイブが破損しました

その後、ハイブが突然壊れました。まず、ハイブコマンドプロンプトを入力する前に、ハイブコマンドラインが数分間停止します。第二に、もし私がデータベースを表示すると、ハイブコマンドラインで、それは再び長い間ハングして、すべてのバックエラーを返しました原因:java.sql.SQLException:ユーザー 'hive' @ 'namenode01-bi-dev'のアクセスが拒否されました(パスワード:はい) 私は次のコマンドを他の質問に載せてみましたが、同じ問題がありました。

hive --service metastore 

このエラーについては、stackoverflowで検索しました。ほとんどのポストはmysql特権の設定に関するものです。しかし、私はこれが私の問題の場合だとは思わない。私は、hive-site.xmlとmysqlでユーザーに正しい権限があることを確認しました。それが特権問題なら、テーブルを削除する前にハイブをうまく動かすことができます。念のため、以下の関連ハイブ-site.xmlのフィールドです:私は名前ノードに再インストールMySQLとハイブを試してみましたし、マシンを再起動しますが、同じに遭遇していた

mysql> select user,host,password from mysql.user; 
+------+-------------------+-------------------------------------------+ 
| user | host    | password         | 
+------+-------------------+-------------------------------------------+ 
| root | localhost   | *CFBF6F2FB240D9B28DC5D0A313B6BAA047368AAF | 
| root | namenode01-bi-dev |           | 
| root | 127.0.0.1   |           | 
|  | localhost   |           | 
|  | namenode01-bi-dev |           | 
| hive | localhost   | *4DF1D66463C18D44E3B001A8FB1BBFBEA13E27FC | 
| hive | namenode01-bi-dev | *4DF1D66463C18D44E3B001A8FB1BBFBEA13E27FC | 
| hive | datanode02-bi-dev | *4DF1D66463C18D44E3B001A8FB1BBFBEA13E27FC | 
+------+-------------------+-------------------------------------------+ 
8 rows in set (0.00 sec) 
mysql> show grants for [email protected]'namenode01-bi-dev' 
-> ; 
+---------------------------------------------------------------------------------------------------------------------+ 
| Grants for [email protected]                     | 
+---------------------------------------------------------------------------------------------------------------------+ 
| GRANT USAGE ON *.* TO 'hive'@'namenode01-bi-dev' IDENTIFIED BY  PASSWORD '*4DF1D66463C18D44E3B001A8FB1BBFBEA13E27FC' | 
| GRANT ALL PRIVILEGES ON `hive`.* TO 'hive'@'namenode01-bi-dev'              | 
+---------------------------------------------------------------------------------------------------------------------+ 
2 rows in set (0.00 sec) 

<property> 
<name>javax.jdo.option.ConnectionPassword</name> 
<value>hive</value> 
<description>password to use against metastore database</description> 
</property> 

<property> 
    <name>javax.jdo.option.ConnectionURL</name> 
    <value>jdbc:mysql://10.104.90.40:3306/hive?createDatabaseIfNotExist=true</value> 
</property> 

<property> 
<name>javax.jdo.option.ConnectionDriverName</name> 
<value>com.mysql.jdbc.Driver</value> 
<description>Driver class name for a JDBC metastore</description> 
</property> 

<property> 
<name>javax.jdo.option.ConnectionUserName</name> 
<value>hive</value> 
<description>Username to use against metastore database</description> 
</property> 

とMySQLで問題。現在、私はdatanodeを使用してmysqlサーバとハイブを実行しています。まったく同じ設定と設定で、データノードのハイブが動作します。しかし、私はまだnamenodeのハイブに何が間違っているのか理解できません。エラーはちょっと意味がありません。誰かが同じ問題に遭遇したか、何が間違っているのか知っていますか?

+0

以前のように正常に動作しますが、MySQLのサービス、メタストアサービス、HiveServer2サービスのログを検索しましたか?この種類の認証エラーは、ネットワークのタイムアウトからゾンビプロセス、破損したファイルへのあらゆる種類のエラーの結果として生じる可能性があります。 –

+0

mysqlログをチェックしました。innodb started.Thoughのような共通情報に関するすべてのログ警告= 2でもmysqlログにはアクセス試行に関する情報が含まれていません。 hiveserver2のログには、同じエラーメッセージがあります。 –

+0

データベースとアプリケーション(HS2サービス、旧来のHive CLI、Pig CLI、Sqoop CLI、Sparkドライバ、Impalaデーモン、Prestoデーモンなど)の間にある* Metastore *サービスはどうですか? –

答えて

0

この問題は、mysqlが原因であることが判明しました。 な/etc/my.cnfに次の行を追加した後、ハイブが

skip-name-resolve 
関連する問題