小编Kas*_*ara的帖子

Scala-Cassandra:集群读取失败,并显示错误“无法使用此集群实例,因为它先前已关闭”

使用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进行连接并执行读取操作。

有什么线索可能是这里的问题吗?

设置:

  • 一致性级别:ONE
  • 键空间复制策略:“类”:“ 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)

java scala cassandra datastax

5
推荐指数
2
解决办法
5802
查看次数

标签 统计

cassandra ×1

datastax ×1

java ×1

scala ×1