无法通过Phantom连接到Cassandra(NoHostAvailableException)

时间:2016-02-12 05:16:46

标签: java scala cassandra datastax phantom-dsl

尝试通过Phantom从Scala应用程序插入Cassandra时收到以下错误代码。

Cassandra版本捆绑了:dsc-cassandra-3.0.1

  

[error](run-main-0)com.datastax.driver.core.exceptions.NoHostAvailableException:尝试查询的所有主机都失败了(尝试过:localhost / 127.0.0.1:9042(com.datastax.driver) .core.exceptions.InvalidQueryException:unconfigured table schema_keyspaces),localhost / 0:0:0:0:0:0:0:1:9042(com.datastax.driver.core.TransportException:[localhost / 0:0:0 :0:0:0:0:1:9042]无法连接))   com.datastax.driver.core.exceptions.NoHostAvailableException:尝试查询失败的所有主机(尝试:localhost / 127.0.0.1:9042(com.d.dastastax.driver.core.exceptions.InvalidQueryException:unconfigured table schema_keyspaces),localhost / 0:0:0:0:0:0:0:1:9042(com.datastax.driver.core.TransportException:[localhost / 0:0:0:0:0:0:0:1:9042]无法连接))

我已阅读StackOverflow中的其他此类问题,但尚未找到解决我问题的方法。

此外,我没有注意到任何其他错误日志中存在以下内容:

我在阅读localhost/127.0.0.1:9042

时是否正确

不会归结为127.0.0.1/127.0.0.1:9402 - 这可以解释为什么它无法找到正确的端口开放。

现在走下这条赛道,试图弄清楚这是不是。

确保Cassandra正在运行。

  

我也跑了sudo lsof -i -P | grep -i"听"使用以下输出(只需拔出java文件):

java 4053 dan_mi_sun 85u IPv4 0xdbcce7039c377b9d 0t0 TCP localhost:7199 (LISTEN)
java 4053 dan_mi_sun 86u IPv4 0xdbcce703986952cd 0t0 TCP localhost:53680 (LISTEN)
java 4053 dan_mi_sun 92u IPv4 0xdbcce7039869b46d 0t0 TCP localhost:7002 (LISTEN)
java 4053 dan_mi_sun 145u IPv4 0xdbcce7039c37846d 0t0 TCP localhost:9042 (LISTEN)

关于问题可能是什么想法?

找到了这个,但不确定它是否相关:

https://datastax-oss.atlassian.net/browse/JAVA-897

如果它有用,这里是build.sbt

name := "SuperChain"

organization := "org.dyne.danielsan"

version := "0.1.0-SNAPSHOT"

scalaVersion := "2.11.7"

crossScalaVersions := Seq("2.10.4", "2.11.2")

resolvers ++= Seq(
  "Typesafe repository snapshots" at "http://repo.typesafe.com/typesafe/snapshots/",
  "Typesafe repository releases" at "http://repo.typesafe.com/typesafe/releases/",
  "Sonatype repo"                    at "https://oss.sonatype.org/content/groups/scala-tools/",
  "Sonatype releases"                at "https://oss.sonatype.org/content/org.dyne.danielsan.superchain.data.cassandra.init.repositories/releases",
  "Sonatype snapshots"               at "https://oss.sonatype.org/content/org.dyne.danielsan.superchain.data.cassandra.init.repositories/snapshots",
  "Sonatype staging"                 at "http://oss.sonatype.org/content/org.dyne.danielsan.superchain.data.cassandra.init.repositories/staging",
  "Java.net Maven2 Repository"       at "http://download.java.net/maven/2/",
  "Twitter Repository"               at "http://maven.twttr.com",
  "Wedsudos Bintray Repo"            at "https://dl.bintray.com/websudos/oss-releases/"
)

libraryDependencies ++= Seq(
  "com.websudos" %% "phantom-dsl" % "1.12.2",
  "org.scalatest" %% "scalatest" % "2.2.1" % "test",
  "org.scalacheck" %% "scalacheck" % "1.11.5" % "test"
)

initialCommands := "import org.dyne.danielsan.superchain._"

1 个答案:

答案 0 :(得分:2)

此错误:com.datastax.driver.core.exceptions.InvalidQueryException: unconfigured table schema_keyspaces让我相信您使用的幻像版本不使用datastax java-driver 3.0+。由于您要连接到3.0群集,因此需要一个能够理解架构表的3.0驱动程序(system_schema。*而不是system.schema *)。如果你升级到phantom-dsl 1.21.0,那应该可以解决这个问题。