私は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のハイブに何が間違っているのか理解できません。エラーはちょっと意味がありません。誰かが同じ問題に遭遇したか、何が間違っているのか知っていますか?
以前のように正常に動作しますが、MySQLのサービス、メタストアサービス、HiveServer2サービスのログを検索しましたか?この種類の認証エラーは、ネットワークのタイムアウトからゾンビプロセス、破損したファイルへのあらゆる種類のエラーの結果として生じる可能性があります。 –
mysqlログをチェックしました。innodb started.Thoughのような共通情報に関するすべてのログ警告= 2でもmysqlログにはアクセス試行に関する情報が含まれていません。 hiveserver2のログには、同じエラーメッセージがあります。 –
データベースとアプリケーション(HS2サービス、旧来のHive CLI、Pig CLI、Sqoop CLI、Sparkドライバ、Impalaデーモン、Prestoデーモンなど)の間にある* Metastore *サービスはどうですか? –