4

ハイブとmysqlをインストールし、mysqlconnectorをhive_home/libフォルダーにコピーしました

しかし、hive>プロンプトでデータベースを表示してテーブルコマンドを作成しようとすると、次のようなエラーが表示されます。

create database saty;
FAILED: Error in metadata: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

そして私の hive_site.xml は

<property>    
  <name>javax.jdo.option.ConnectionURL</name>         
  <value>jdbc:mysql://localhost:3306/hadoop?CreateDatabaseIfNotExist=true</value>         
  <description>JDBC connect string for a JDBC metastore</description>
</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>hive.metastore.warehouse.dir</name>
  <value>/user/hive/warehouse</value>
  <description>location of default database for the warehouse</description>
</property>

ファイルシステムに /user/hive/warehouse というディレクトリがありません。

mkdirコマンドでこれらのパスを作成しました..そして再起動後に試しました..まだエラーが発生しています..

よろしく、 サティア

4

4 に答える 4

0

-hiveconf hive.root.logger=warn,console を使用してハイブを再構成し、ハイブ メイト ストア クライアントをインスタンス化できなかった詳細な理由を見つけます。

私が遭遇した問題は間違ったmysql構成でした。エラーメッセージは「バイナリロギングは不可能です。メッセージ:InnoDBのトランザクションレベル 'READ-COMMITTED'はbinlogモード 'STATEMENT'に対して安全ではありません」です。binlog_format を "statement" から "binlog_format=mixed" に変更すると、ハイブ メタ ストア クライアントが正常にインスタンス化されます。

それがあなたのために働くことを願っています。

于 2014-04-28T12:02:17.507 に答える