我在让 Spark Cassandra Connector 在 Scala 中工作时遇到问题。
我正在使用这些版本:
- 斯卡拉2.10.4
- 火花核心 1.0.2
- cassandra-thrift 2.1.0(我安装的cassandra是v2.1.0)
- 卡桑德拉-clientutil 2.1.0
- cassandra-driver-core 2.0.4(推荐用于连接器?)
- 火花卡桑德拉连接器 1.0.0
我可以连接 Cassandra(不带 Spark)并与其交谈,也可以与 Spark(不带 Cassandra)交谈,但连接器为我提供:
com.datastax.driver.core.exceptions.NoHostAvailableException:尝试查询的所有主机均失败(尝试过:/10.0.0.194:9042 (com.datastax.driver.core.TransportException: [/10.0.0.194:9042] 无法连接))
我缺少什么? Cassandra 是默认安装(根据 cassandra.yaml,cql 的端口 9042)。我正在尝试本地连接(“本地”)。
My code:
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")
在此上下文中,本地指的是指定 Spark 主节点(告诉它以本地模式运行)而不是 Cassandra 连接主机。
要设置 Cassandra 连接主机,您必须在 Spark 配置中设置不同的属性
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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)