使用datastax驱动程序从5节点群集中的表读取时出现此错误。
2015-02-19 03:24:09,908错误[akka.actor.default-dispatcher-9] OneForOneStrategy akka:// user / HealthServiceChecker-49e686b9-e189-48e3-9aeb-a574c875a8ab无法使用此群集实例,因为先前关闭的java.lang.IllegalStateException:无法使用此Cluster实例,因为它先前在com.datastax.driver.core.Cluster $ Manager.init(Cluster.java:1128)〜[cassandra-driver-core-2.0 .4.jar:na]位于com.datastax.driver.core.Cluster.init(Cluster.java:149)〜[cassandra-driver-core-2.0.4.jar:na]位于com.datastax.driver.core .cluster.connect(Cluster.java:225)〜[cassandra-driver-core-2.0.4.jar:na]在com.datastax.driver.core.Cluster.connect(Cluster.java:258)〜[cassandra- driver-core-2.0.4.jar:na]
我能够使用cqlsh进行连接并执行读取操作。
有什么线索可能是这里的问题吗?
设置:
键空间复制策略:“类”:“ NetworkTopologyStrategy”,“ DC2”:“ 1”,“ DC1”:“ 1”
cassandra版本:2.0.6
管理cassandra会话的代码非常重要。
trait ConfigCassandraCluster
extends CassandraCluster
{
def cassandraConf: CassandraConfig
lazy val port = cassandraConf.port
lazy val host = cassandraConf.host
lazy val cluster: Cluster =
Cluster.builder()
.addContactPoints(host)
.withReconnectionPolicy(new ExponentialReconnectionPolicy(100, 30000))
.withPort(port)
.withSocketOptions(new SocketOptions().setKeepAlive(true))
.build()
lazy val keyspace = cassandraConf.keyspace
private lazy val casSession = cluster.connect(keyspace)
val session = new SessionProvider(casSession)
}
class SessionProvider(casSession: => Session) …Run Code Online (Sandbox Code Playgroud)