2014-09-19 26 views
5

Mam problemy z uruchomieniem aplikacji Spark Cassandra Connector w Scala.Dlaczego Spark Cassandra Connector kończy się niepowodzeniem z NoHostAvailableException?

używam te wersje:

  • Scala 2.10.4
  • iskra-core 1.0.2
  • Cassandra-oszczędność 2.1.0 (mój zainstalowany Cassandra jest v2.1.0)
  • Cassandro-clientutil 2.1.0
  • Cassandro sterownik rdzeń 2.0.4 (zalecane dla złącza?)
  • zapłonem Cassandro złącze 1.0.0

mogę połączyć się i rozmawiać z Cassandrą (w/o iskry) i mogę rozmawiać Spark (w/o Cassandra), ale złącze daje mi:

com.datastax.driver.core. exceptions.NoHostAvailableException: Wszystkie hosta (s) próbował do zapytania nie powiodło się (próbowałem: /10.0.0.194:9042 (com.datastax.driver.core.TransportException: [/10.0.0.194:9042] nie można połączyć))

Czego mi brakuje? Cassandra jest domyślną instalacją (port 9042 dla cql zgodnie z cassandra.yaml). Próbuję połączyć się lokalnie ("lokalnie").

Mój kod:

val conf = new SparkConf().setAppName("Simple Application").setMaster("local") 
val sc = new SparkContext("local","test",conf) 
val rdd = sc.cassandraTable("myks","users") 
val rr = rdd.first 
println(s"Result: $rr") 

Odpowiedz

4

lokalny w tym kontekście określenie mistrza Spark (informując je uruchomić w trybie lokalnym), a nie hosta Połączenie Cassandra.

Aby ustawić szereg połączeń Cassandra trzeba ustawić inną nieruchomość w Spark Config

import org.apache.spark._ 

val conf = new SparkConf(true) 
     .set("spark.cassandra.connection.host", "IP Cassandra Is Listening On") 
     .set("spark.cassandra.username", "cassandra") //Optional    
     .set("spark.cassandra.password", "cassandra") //Optional 

val sc = new SparkContext("spark://Spark Master IP:7077", "test", conf) 

https://github.com/datastax/spark-cassandra-connector/blob/master/doc/1_connecting.md

Powiązane problemy