2

Hiveをインストールしましたが、テーブルを作成するコマンドを書くと、「CREATE TABLE foo(id int, msg STRING);」となります。「クリーンアップ アクションが失敗しました: メタデータのエラー: javax.jdo.JDOFatalDataStoreException: データベース 'metastore_db' の作成に失敗しました。詳細については、次の例外を参照してください。NestedThrowables:java.sql.SQLException: データベース 'metastore_db' の作成に失敗しました。詳細については、次の例外を参照してください。FAILED: 実行エラー、org.apache.hadoop.hive.ql.exec.DDLTask からコード 1 を返します". この例外が発生する理由は、構成の問題か、それ以外です。

4

2 に答える 2

7

私は同じ問題を抱えていました:

voicestreams @ voicestreams:〜/ testbed / eclipseprojects / worksheet / mapreducesort / java $ hive

Hive履歴ファイル=/tmp/root/hive_job_log_root_201210282200_1123208966.txt

ハイブ>テーブルを表示

失敗:メタデータのエラー:javax.jdo.JDOFatalDataStoreException:データベース'/ var / lib / hive / metastore / metastore_db'の作成に失敗しました。詳細については、次の例外を参照してください。NestedThrowables:java.sql.SQLException:データベース'/ var / lib / hive / metastore / metastore_db'の作成に失敗しました。詳細については、次の例外を参照してください。失敗:実行エラー、org.apache.hadoop.hive.ql.exec.DDLTaskからコード1を返します

apt-getinstallhadoop-hiveを使用してHiveをインストールしました。メタストアを/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/voicestreams/hive/metastore/metastore_db;create=true</value>
  <description>JDBC connect string for a JDBC metastore</description>
</property>

`

基本的に、databaseName =を書き込み可能なディレクトリ(/ home / voicestreams / hive /)に変更すると、機能しました。もちろん、ハイブを再度実行する前に/ home / voicestreams /hive/を作成する必要がありました。これがお役に立てば幸いです。

于 2012-10-28T11:24:07.193 に答える