2014-12-10 2 views
0

웹 서비스를 생성하기 위해 스프링 부트를 사용 중이며 HBase에서 데이터 모델을 유지하려고합니다. 이 작업에 Kundera를 사용하고 싶습니다. 그러나, 나는 그것을 작동시킬 수 없습니다. 응용 프로그램을 돌리면 응용 프로그램이 시작되고 약 1 분 동결되어 시간 초과가 발생합니다. 여기 내 구성의 일부 조각은 다음과 같습니다Kundera/HBase/Spring : 스키마 초기화/업데이트 시도 중 시간 초과가 발생했습니다.

내의 persistence.xml :

<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
    http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" 
    version="2.0"> 
    <persistence-unit name="hbase_pu"> 
     <provider>com.impetus.kundera.KunderaPersistence</provider>  
     <properties>    
      <property name="kundera.nodes" value="my-hbase-server.example.com"/> 
      <property name="kundera.port" value="2181"/> 
      <property name="kundera.keyspace" value="mykeyspace"/> 
      <property name="kundera.dialect" value="hbase"/> 
      <property name="kundera.client.lookup.class" value="com.impetus.client.hbase.HBaseClientFactory" /> 
      <property name="kundera.ddl.auto.prepare" value="update"/>    
     </properties>  
    </persistence-unit> 
</persistence> 

엔티티 관리자에 대한 나의 구성 :이 작업을 실행하려고 할 때

@Bean 
public LocalContainerEntityManagerFactoryBean entityManagerFactory() { 
    final LocalContainerEntityManagerFactoryBean bean = new LocalContainerEntityManagerFactoryBean(); 
    return bean; 
} 

, 괜찮 스핀 업 보인다 :

... many info outputs ... 
2014-12-10 09:07:05.682 INFO 5194 --- [ost-startStop-1] org.apache.zookeeper.ZooKeeper   : Initiating client connection, connectString=my-hbase-server.example.com:2181 sessionTimeout=90000 watcher=hconnection-0x556effa0, quorum=my-hbase-server.example.com:2181, baseZNode=/hbase 
2014-12-10 09:07:05.694 INFO 5194 --- [ne002.int:2181)] org.apache.zookeeper.ClientCnxn   : Opening socket connection to server my-hbase-server.example.com/x.x.x.x:2181. Will not attempt to authenticate using SASL (unknown error) 
2014-12-10 09:07:05.698 INFO 5194 --- [ne002.int:2181)] org.apache.zookeeper.ClientCnxn   : Socket connection established to my-hbase-server.example.com/x.x.x.x:2181, initiating session 
2014-12-10 09:07:05.780 INFO 5194 --- [ne002.int:2181)] org.apache.zookeeper.ClientCnxn   : Session establishment complete on server my-hbase-server.example.com/x.x.x.x:2181, sessionid = 0x14a2e04a4ca001f, negotiated timeout = 40000 
2014-12-10 09:07:05.820 INFO 5194 --- [ost-startStop-1] o.a.h.hbase.client.ZooKeeperRegistry  : ClusterId read in ZooKeeper is null 

그런 다음 약 1 분 동결되고 그 후에 충돌합니다.

2014-12-10 09:08:05.703 ERROR 5194 --- [ost-startStop-1] c.i.c.h.s.HBaseSchemaManager    : Either check for network connection or table isn't in enabled state, Caused by: 
... large stack trace, interesting section: ... 
Caused by: org.apache.hadoop.hbase.client.RetriesExhaustedException: Can't get the locations 
    at org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.getRegionLocations(RpcRetryingCallerWithReadReplicas.java:301) 
    at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:131) 
    at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:56) 
    at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:179) 
    at org.apache.hadoop.hbase.client.ClientScanner.call(ClientScanner.java:287) 
    at org.apache.hadoop.hbase.client.ClientScanner.nextScanner(ClientScanner.java:267) 
    at org.apache.hadoop.hbase.client.ClientScanner.initializeScannerInConstruction(ClientScanner.java:139) 
    at org.apache.hadoop.hbase.client.ClientScanner.<init>(ClientScanner.java:134) 
    at org.apache.hadoop.hbase.client.HTable.getScanner(HTable.java:763) 
    at org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:185) 
    at org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:86) 
    at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.isTableAvailable(ConnectionManager.java:919) 
    at org.apache.hadoop.hbase.client.HBaseAdmin.isTableAvailable(HBaseAdmin.java:1127) 
    at org.apache.hadoop.hbase.client.HBaseAdmin.isTableAvailable(HBaseAdmin.java:1135) 
    at com.impetus.client.hbase.schemamanager.HBaseSchemaManager.update(HBaseSchemaManager.java:100) 
    ... 165 more 

여기에 무슨 문제가 있습니까? 나는 무엇이라도 놓쳤는가? 그렇다면 무엇?

답변

0

사육사와 관련되어 있습니다. hbase의 진입 점은 /hbase으로 하드 코딩되어 있으며 내 서버의 진입 점이 다릅니다. 그러나 슬프 도다, Kundera는 불완전하게 내 KunderaCriteriaQuery의 숫자가 // TODO Auto-generated method stubreturn null이므로 불행히도 내 작업에는 사용할 수 없습니다.

+0

JPA 기준 쿼리는 아직 개발 중입니다. 명명 된 쿼리 또는 JPQL에서 사용할 수있는 대부분의 기능이 지원되지만 JPA 기준 인터페이스 이외에도 많은 기능을 제공합니다! NoSQL 데이터베이스로 각각 및 모든 것을 지원하는 것은 불가능하며 아마 필요하지 않을 수도 있습니다. 특정 정보가 필요하시면 [email protected]으로 전자 메일을 보내주십시오. –