3

ハイブを実行している 3 ノードのクラスターがあります。クラスターの外部からテストを実行しようとすると、以下のエラーが表示されます

失敗: メタデータのエラー: java.lang.RuntimeException: org.apache.hadoop.hive.metastore.HiveMetaStoreClient をインスタンス化できません 失敗: 実行エラー、org.apache.hadoop.hive.ql.exec.DDLTask ログからの戻りコード 1 が初期化されましたファイル内の構成を使用:/net/slc01nwj/scratch/ashsshar/view_storage/ashsshar_bda_latest_2/work/hive_scratch/conf/hive-log4j.properties

クラスターノードにログインしてハイブを実行すると、正常に動作します。

ハイブ > データベースを表示します。OK デフォルト

テスト ログ ファイルに次のエラーが生成される

13/04/04 03:10:49 エラー security.UserGroupInformation: PriviledgedActionException as:ashsshar {my username }(auth:SIMPLE) cause:java.io.IOException: javax.jdo.JDOFatalDataStoreException: データベース '/var/ の作成に失敗しましたlib/hive/metastore/metastore_db'、詳細については次の例外を参照してください。NestedThrowables: java.sql.SQLException: データベース '/var/lib/hive/metastore/metastore_db' の作成に失敗しました。詳細については、次の例外を参照してください。

私のhive-site.xmlファイルにはこの接続プロパティが含まれています::

<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:derby:;databaseName=/var/lib/hive/metastore/metastore_db;create=true</value>
<description>JDBC connect string for a JDBC metastore</description>

クラスター ノードでを変更し/var/lib/hive/metastore/metastore_dbましたが、それでも同じエラーが発生します

上記のディレクトリからすべての *lck ファイルを削除しようとしました

4

7 に答える 7

10

{username} には を作成する権限があります /var/lib/hive/metastore/metastore_dbか?

それがテストクラスターの場合は、実行できます

sudo chmod -R 777 /var/lib/hive/metastore/metastore_db

またはchownそれを実行しているユーザーに。

于 2013-04-05T17:52:10.833 に答える
1

$HADOOP_HOME/build フォルダーを削除してみてください。hive-0.10.0 以降のバージョンでも同じ問題がありました。次に、hive-0.9.0 を試したところ、別のエラー セットが発生しました。幸いなことに、このスレッドHive does not work on install が見つかりました。同じトリックを試してみたところ、魔法のようにうまくいきました。デフォルトのダービー データベースを使用しています。

于 2013-05-24T19:34:00.827 に答える
1

これは、ハイブ フォルダーのアクセス許可の問題です。以下はうまくいきます。ハイブユーザーに移動します。私にとってはhduser、sudo chmod -R 777 hive

于 2013-06-18T05:38:13.120 に答える
0

メタストアを /var/lib/hive/ から移動した後、機能しました。私は編集してそれを行いました: /etc/hive/conf.dist/hive-site.xml

から:

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:derby:;databaseName=/var/lib/hive/metastore/metastore_db;create=true</value>
  <description>JDBC connect string for a JDBC metastore</description>
</property>

に:

<property>  
<name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:derby:;databaseName=/home/prashant/hive/metastore/metastore_db;create=true</value>
  <description>JDBC connect string for a JDBC metastore</description>
</property>

`

于 2014-07-27T03:48:35.463 に答える
-1

はい、それは特権の問題です。次のコマンドでハイブ シェルに入ります。

sudo -u hdfs hive
于 2013-07-10T06:09:18.793 に答える