加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 为什么Spark Cassandra Connector会因NoHostAvailableE

发布时间:2020-12-16 18:39:01 所属栏目:安全 来源:网络整理
导读:我在使用 Scala中的Spark Cassandra Connector时遇到了问题. 我正在使用这些版本: Scala 2.10.4 spark-core 1.0.2 cassandra-thrift 2.1.0(我安装的cassandra是v2.1.0) cassandra-clientutil 2.1.0 cassandra-driver-core 2.0.4(推荐用于连接器?) spark-ca
我在使用 Scala中的Spark Cassandra Connector时遇到了问题.

我正在使用这些版本:

> Scala 2.10.4
> spark-core 1.0.2
> cassandra-thrift 2.1.0(我安装的cassandra是v2.1.0)
> cassandra-clientutil 2.1.0
> cassandra-driver-core 2.0.4(推荐用于连接器?)
> spark-cassandra-connector 1.0.0

我可以连接并与Cassandra(没有火花)交谈,我可以和Spark(没有Cassandra)交谈,但连接器给了我:

com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: /10.0.0.194:9042 (com.datastax.driver.core.TransportException: [/10.0.0.194:9042] Cannot connect))

我错过了什么? Cassandra是默认安装(根据cassandra.yaml,cql的端口9042).我正在尝试连接本地(“本地”).

我的代码:

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 Connection主机,您必须在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",conf)

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读