7
votes

PooltimeoutException lors de la connexion à Cassandra via Astyanax

J'essaie de vous connecter à Cassandra local à l'aide de AsTyanax, mais d'obtenir constamment la piscineTimeException. Je suis capable de se connecter à Cassandra à l'aide du client CLI ou Hector. Toute idée que je fais mal?

Merci. P>

My Code: P>

Exception in thread "main" java.lang.RuntimeException: com.netflix.astyanax.connectionpool.exceptions.PoolTimeoutException: PoolTimeoutException: [host=127.0.0.1(127.0.0.1):9160, latency=10004(10004), attempts=1] Timed out waiting for connection
at com.netflix.astyanax.thrift.ThriftColumnFamilyQueryImpl$7.getNextBlock(ThriftColumnFamilyQueryImpl.java:652)
at com.netflix.astyanax.thrift.ThriftAllRowsImpl$1.hasNext(ThriftAllRowsImpl.java:61)
at scala.collection.JavaConversions$JIteratorWrapper.hasNext(JavaConversions.scala:574)
at scala.collection.Iterator$class.foreach(Iterator.scala:772)
at scala.collection.JavaConversions$JIteratorWrapper.foreach(JavaConversions.scala:573)
at scala.collection.IterableLike$class.foreach(IterableLike.scala:73)
at scala.collection.JavaConversions$JIterableWrapper.foreach(JavaConversions.scala:587)
at  at scala.Function0$class.apply$mcV$sp(Function0.scala:34)
at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
at scala.App$$anonfun$main$1.apply(App.scala:60)
at scala.App$$anonfun$main$1.apply(App.scala:60)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:76)
at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:30)
at scala.App$class.main(App.scala:60)
at Caused by: com.netflix.astyanax.connectionpool.exceptions.PoolTimeoutException: PoolTimeoutException: [host=127.0.0.1(127.0.0.1):9160, latency=10004(10004), attempts=1] Timed out waiting for connection
at com.netflix.astyanax.connectionpool.impl.SimpleHostConnectionPool.waitForConnection(SimpleHostConnectionPool.java:201)
at com.netflix.astyanax.connectionpool.impl.SimpleHostConnectionPool.borrowConnection(SimpleHostConnectionPool.java:158)
at com.netflix.astyanax.connectionpool.impl.RoundRobinExecuteWithFailover.borrowConnection(RoundRobinExecuteWithFailover.java:60)
at com.netflix.astyanax.connectionpool.impl.AbstractExecuteWithFailoverImpl.tryOperation(AbstractExecuteWithFailoverImpl.java:50)
at com.netflix.astyanax.connectionpool.impl.AbstractHostPartitionConnectionPool.executeWithFailover(AbstractHostPartitionConnectionPool.java:229)
at com.netflix.astyanax.thrift.ThriftColumnFamilyQueryImpl$7.getNextBlock(ThriftColumnFamilyQueryImpl.java:623)


0 commentaires

5 Réponses :


2
votes

Nous avions aussi ce problème. Pour nous, il s'est avéré être un problème de version avec Libthrift. Version 0.7.0 travaillée. La version 0.6.1 n'a pas fait. Vérifiez votre parcours de classe et voir ... bonne chance.

-TD


1 commentaires

"Tom D" Nice Catch, merci! Toute personne qui met à niveau AsTyanax Jar à V1.0.6 sans Maven, n'oubliez pas de mettre à niveau Libthrift à 0.7.0



3
votes

Un autre problème est que si vous claquez des données sur un nœud et que vous avez une connexion de 50 et une seule connexion par hôte, vous obtiendrez la même chose pour que vous puissiez également équilibrer le nombre de threads / hôte dans certaines situations.


0 commentaires

1
votes

essayer de se connecter via le mauvais port donnera également cette erreur. Voir Cette discussion.


0 commentaires

0
votes

Vous devez installer Apache Thrift , pour moi, cela fonctionne d'installation de ces applications:

boost
libevent
Emplacement

codage heureux :)


0 commentaires

0
votes

Passez ce qui suit dans le Cassandra.YAML

  1. Vérifiez le rpc_address
  2. Vérifiez le rpc_port
  3. SET START_RPC TO TRUE

0 commentaires