2013-10-15 33 views
1

我試圖在Dativex Enterprise 3.1的頁面88上顯示Hive中的外部表。文檔。Hive發現未映射密鑰空間錯誤

該聲明與錯誤消息一起在下面進一步說明。

我在做什麼錯?

問候漢斯 - 彼得·

hive> create external table testext (m string, n string, o string, p string) 
> STORED BY 'org.apache.hadoop.hive.cassandra.cql3.CqlStorageHandler' 
> TBLPROPERTIES ("cassandra.ks.name" = "cql3ks", 
> "cassandra.cf.name" = "test", 
> "cassandra.cql3.type" = "text, text, text, text"); 
FAILED: Error in metadata:  
com.datastax.bdp.hadoop.hive.metastore.CassandraHiveMetaStoreException: 
There was a problem with the Cassandra Hive MetaStore: Problem finding unmapped 
keyspaces 
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask 
 
2013-10-15 12:47:36,657 WARN conf.HiveConf (HiveConf.java:(63)) - DEPRECATED: Ignoring hive-default.xml found on the CLASSPATH at /etc/dse/hive/hive-default.xml 
2013-10-15 12:48:41,003 WARN config.DatabaseDescriptor (DatabaseDescriptor.java:loadYaml(253)) - Please rename 'authority' to 'authorizer' in cassandra.yaml 
2013-10-15 12:48:42,988 ERROR exec.Task (SessionState.java:printError(400)) - FAILED: Error in metadata: com.datastax.bdp.hadoop.hive.metastore.CassandraHiveMetaStoreException: There was a problem with the Cassandra Hive MetaStore: Problem finding unmapped keyspaces 
org.apache.hadoop.hive.ql.metadata.HiveException: com.datastax.bdp.hadoop.hive.metastore.CassandraHiveMetaStoreException: There was a problem with the Cassandra Hive MetaStore: Problem finding unmapped keyspaces 
     at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:544) 
     at org.apache.hadoop.hive.ql.exec.DDLTask.createTable(DDLTask.java:3305) 
     at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:242) 
     at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:134) 
     at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:57) 
     at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1326) 
     at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1118) 
     at org.apache.hadoop.hive.ql.Driver.run(Driver.java:951) 
     at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:258) 
     at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:215) 
     at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:406) 
     at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:689) 
     at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:557) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at org.apache.hadoop.util.RunJar.main(RunJar.java:156) 
Caused by: com.datastax.bdp.hadoop.hive.metastore.CassandraHiveMetaStoreException: There was a problem with the Cassandra Hive MetaStore: Problem finding unmapped keyspaces 
     at com.datastax.bdp.hadoop.hive.metastore.SchemaManagerService.createKeyspaceSchemasIfNeeded(SchemaManagerService.java:230) 
     at com.datastax.bdp.hadoop.hive.metastore.CassandraHiveMetaStore.setConf(CassandraHiveMetaStore.java:112) 
     at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:62) 
     at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117) 
     at org.apache.hadoop.hive.metastore.RetryingRawStore.(RetryingRawStore.java:62) 
     at org.apache.hadoop.hive.metastore.RetryingRawStore.getProxy(RetryingRawStore.java:71) 
     at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.newRawStore(HiveMetaStore.java:346) 
     at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.getMS(HiveMetaStore.java:333) 
     at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB(HiveMetaStore.java:371) 
     at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.init(HiveMetaStore.java:278) 
     at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.(HiveMetaStore.java:248) 
     at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.(HiveMetaStoreClient.java:114) 
     at org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:2092) 
     at org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:2102) 
     at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:538) 
     ... 17 more 
Caused by: com.datastax.bdp.hadoop.hive.metastore.CassandraHiveMetaStoreException: There was a problem with the Cassandra Hive MetaStore: There was a problem retrieving column families for keyspace demo 
     at com.datastax.bdp.hadoop.hive.metastore.SchemaManagerService.createUnmappedTables(SchemaManagerService.java:277) 
     at com.datastax.bdp.hadoop.hive.metastore.CassandraHiveMetaStore.getDatabase(CassandraHiveMetaStore.java:148) 
     at com.datastax.bdp.hadoop.hive.metastore.CassandraHiveMetaStore.getDatabase(CassandraHiveMetaStore.java:136) 
     at com.datastax.bdp.hadoop.hive.metastore.SchemaManagerService.isKeyspaceMapped(SchemaManagerService.java:186) 
     at com.datastax.bdp.hadoop.hive.metastore.SchemaManagerService.finUnmappedKeyspaces(SchemaManagerService.java:137) 
     at com.datastax.bdp.hadoop.hive.metastore.SchemaManagerService.createKeyspaceSchemasIfNeeded(SchemaManagerService.java:224) 
     ... 31 more 
Caused by: com.datastax.bdp.hadoop.hive.metastore.CassandraHiveMetaStoreException: There was a problem with the Cassandra Hive MetaStore: Problem creating column mappingsorg.apache.cassandra.db.marshal.CompositeType(org.apache.cassandra.db.marshal.UTF8Type,org.apache.cassandra.db.marshal.UTF8Type) 
     at com.datastax.bdp.hadoop.hive.metastore.SchemaManagerService.buildTable(SchemaManagerService.java:481) 
     at com.datastax.bdp.hadoop.hive.metastore.SchemaManagerService.createUnmappedTables(SchemaManagerService.java:254) 
     ... 36 more 
Caused by: java.lang.IllegalArgumentException 
     at java.nio.Buffer.limit(Buffer.java:247) 
     at org.apache.cassandra.db.marshal.AbstractCompositeType.getBytes(AbstractCompositeType.java:51) 
     at org.apache.cassandra.db.marshal.AbstractCompositeType.getWithShortLength(AbstractCompositeType.java:60) 
     at org.apache.cassandra.db.marshal.AbstractCompositeType.getString(AbstractCompositeType.java:226) 
     at com.datastax.bdp.hadoop.hive.metastore.SchemaManagerService.addTypeToStorageDescriptor(SchemaManagerService.java:846) 
     at com.datastax.bdp.hadoop.hive.metastore.SchemaManagerService.buildColumnMappings(SchemaManagerService.java:546) 
     at com.datastax.bdp.hadoop.hive.metastore.SchemaManagerService.buildTable(SchemaManagerService.java:460) 
     ... 37 more 

2013-10-15 12:48:42,990 ERROR ql.Driver (SessionState.java:printError(400)) - FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask 
+0

你可以從hive.log發佈完整的堆棧跟蹤嗎?哪個版本的DSE?我檢查了你的步驟,它適用於我。 –

+0

在hive.log中,存在相同的消息和java堆棧跟蹤。 我不能在這裏過去,因爲它太大了。 – user1393650

+0

難道你不能將它添加到帖子(編輯)? –

回答

0

我不知道什麼實際的問題,但我遇到了這個,而在蜂巢創建一個普通的表。

我開始使用sudo訪問Hive,現在可以按預期運行查詢。

$ sudo bin/dse hive 
0

這樣的東西,對我的工作是完全消滅在卡桑德拉HiveMetaStore密鑰空間並重新創建剛剛與NetworkTopologyStrategy複製策略的密鑰空間。我確信到分析數據中心添加新的密鑰空間一樣,所以它看起來是這樣的:

CREATE KEYSPACE HiveMetaStore WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', 'Analytics' : 2}; 

然後我重新啓動我的分析節點DSE他們正確地創建了HiveMetaStore密鑰空間內MetaStore表,一切開始再次工作!

+0

我也有創造metaore的一些運氣。這個答案的一個快速補丁是,密鑰空間名稱HiveMetaStore需要放在引號中,否則Cassandra將不會尊重套管並將使用所有小寫字母。更新的命令是: CREATE KEYSPACE「HiveMetaStore」WITH REPLICATION = {'class':'NetworkTopologyStrategy','Analytics':2}; – bpmason1