2

MySQL で Hive をメタ ストアとして使用していますが、どういうわけかデータベースを作成できません。Hive のインストール直後、データベースを作成できましたが、それ以上作成できませんでした。次のエラーが表示されますが、この問題の原因が何か分かりますか?

hive> create database testingyou;
FAILED: Error in metadata: MetaException(message:javax.jdo.JDOUserException: 
Could not create "increment"/"table" value-generation container `SEQUENCE_TABLE` 
since autoCreate flags do not allow it. 

NestedThrowables:
org.datanucleus.exceptions.NucleusUserException: Could not create 
"increment"/"table" value-generation container `SEQUENCE_TABLE` 
since autoCreate flags do not allow it. )
FAILED: Execution Error, return code 1 from 
org.apache.hadoop.hive.ql.exec.DDLTask
4

3 に答える 3

0

考えられる原因の 1 つは、Data Nucleus が「db-name」や [db-name] などのデータベース名をエスケープするのを忘れる、Hive の既知のバグです。この例のようにデータベース カタログ名にダッシュが含まれている場合、HiveServer2 は、ハイブの起動に使用される重要なコマンドを発行するときに SQL 構文エラーが発生するため、それに接続できません。

Hive メタストアのログが示す

2016-01-16 02:14:10,228 DEBUG [main]: Datastore.Native (Log4JLogger.java:debug(58)) - SELECT NEXT_VAL FROM db-name.dbo.SEQUENCE_TABLE WHERE SEQUENCE_NAME=<'org.apache.hadoop.hive.metastore.model.MDatabase'>

2016-01-16 02:14:10,233 INFO  [main]: DataNucleus.ValueGeneration (Log4JLogger.java:info(77)) - Error encountered allocating block of IDs : Couldnt obtain a new sequence (unique id) : Incorrect syntax near '-'.

2016-01-16 02:14:10,233 INFO  [main]: DataNucleus.ValueGeneration (Log4JLogger.java:info(77)) - Error encountered allocating block of IDs : Couldnt obtain a new sequence (unique id) : Incorrect syntax near '-'.

その問題はhttps://issues.apache.org/jira/browse/HIVE-6113で追跡されています。修正は、Hive 2.0 の一部として利用可能になりますが、現時点ではまだ公開されていません。

それまでは、データベース カタログ名にダッシュやハイフンを使用しないようにしてください。

于 2016-02-24T21:26:21.180 に答える
0

mysql の設定を確認してください。

binlog_format

mysql> show variables like 'binlog_format';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| binlog_format | MIXED |
+---------------+-------+
1 row in set (0.00 sec)

binlog_format=STATEMENT は同じエラーでした

于 2014-03-12T04:58:20.403 に答える