2013-10-15 7 views
1

Datastax Enterprise 3.1의 88 페이지에 나와있는 것처럼 외부 테이블을 하이브에 만들려고합니다. 선적 서류 비치.매핑되지 않은 키 영역을 찾는 하이브 오류

오류 메시지와 함께 아래에 더 자세한 내용이 나와 있습니다.

내가 뭘 잘못하고 있니?

감사합니다 한스 - 피터

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 액세스로 하이브를 시작했으며 이제 예상대로 쿼리를 실행할 수 있습니다. 나를 위해 일한

$ sudo bin/dse hive 
0

그래서 뭔가 완전히 카산드라의 HiveMetaStore의 키 스페이스를 쓸어하고 NetworkTopologyStrategy 복제 전략과 단지 키 스페이스를 다시했다. 나뿐만 아니라 새로운 키 스페이스에 웹 로그 분석 데이터 센터를 추가해야했다, 그래서 뭔가를 보았다 :

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

그때 내 분석 노드에 DSE를 다시 시작하고 올바르게 HiveMetaStore의 키 스페이스 내에서 메타 스토어 테이블을 생성하고 모든 것이 시작 다시 일해!

+0

나는 또한 행성을 만들었습니다. 이 대답에 대한 빠른 패치는 HiveMetaStore 키 공간 이름을 따옴표로 묶어야한다는 것입니다. 그렇지 않으면 Cassandra가 대소 문자를 무시하고 모든 소문자 문자를 사용하게됩니다. 업데이트 된 명령은 다음과 같습니다. CREATE KEYSPACE "HiveMetaStore"WITH REPLICATION = { 'class': 'NetworkTopologyStrategy', 'Analytics': 2}; – bpmason1

관련 문제