2013-10-06 149 views
1

我使用Hive與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 

回答

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 =語句是相同的錯誤

1

我有同樣的問題,發現我忘了取消註釋行。具體步驟:

  1. 查找mysql的配置文件my.cnf中的/etc/my.cnf
  2. 搜索binlog_formt,你可能會發現它與#
  3. 打開它,並評論再次嘗試您的配置單元
+0

@DaImTo:爲什麼不應該將這視爲答案? –

0

一個可能的原因是Hive中的已知錯誤,其中Data Nucleus忘記了數據庫名稱,如'db-name'或[db-name]。

蜂巢metastore記錄顯示

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 '-'. 
:當數據庫目錄名稱有破折號作爲我的榜樣呢,HiveServer2不會發放用於啓動蜂巢的關鍵命令時能夠連接到它,因爲一個SQL語法錯誤

這個問題正在跟蹤https://issues.apache.org/jira/browse/HIVE-6113。修補程序將作爲Hive 2.0的一部分提供,目前尚未解決。

在此之前,請確保在數據庫目錄名稱中避免使用虛線或連字符。