当前位置: 首页 > 知识库问答 >
问题:

为什么Spark Cassandra Connector会因NoHostAvailableException而失败?

花高爽
2023-03-14

我在让Spark Cassandra连接器在Scala中工作时遇到问题。

我正在使用这些版本:

  • 斯卡拉 2.10.4
  • 火花芯 1.0.2
  • 卡桑德拉-节俭 2.1.0 (我安装的卡桑德拉是 v2.1.0)
  • cassandra-clientutil 2.1.0
  • 卡桑德拉驱动器核心 2.0.4 (推荐用于连接器?
  • 火花-卡桑德拉-连接器 1.0.0

我可以连接并与卡桑德拉(没有火花)交谈,我可以与火花(没有卡桑德拉)交谈,但连接器给了我:

com.datastax.driver.core.exceptions。NoHostAvailableException:尝试查询的所有主机都失败(已尝试:/10.0.194:9042(com.datastax.driver.core.TransportException:[/10.0.0.194:9042]无法连接)

我错过了什么?卡桑德拉是默认安装(根据卡桑德拉.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")

共有1个答案

郝君博
2023-03-14

在此上下文中,Local是指定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

 类似资料:
  • 我需要替换 我用了 但它抛出异常 java.lang.IllegalArgumentException: Illegal group reference

  • 问题内容: 我有一个名为“ FechasFirmaHorometros”的视图,定义为 我有一个名为[RespuestaPreguntaHorometrosFecha]的函数定义为 在调试使用该函数的另一个存储过程时,我一直在碰到上述函数时收到此消息 但是我可以自由地做类似的事情 为什么会发生这种情况,我该如何解决或解决呢? 问题答案: 由于某种原因,我认为这是某种类型的字符串列。您应该解决该问题

  • 正如我在标题中所述,我只是不明白为什么这个函数会抛出<code>std::bad_alloc</code>。如果我们看一看cppreference,所有三种可能的实现都是如有人所假设的,并且看起来没有特别需要动态内存分配。

  • 为什么gcc在上的末尾插入了,而我却要自己在上添加? 从:

  • 问题内容: 这是一个挑战:为什么此构建失败? 我已经配置了Maven的maven-war-plugin使其不会在绝对的web.xml文件上失败,这似乎是: 但是尽管有这种配置,它仍然会像这样失败: 我实际上没有web.xml,因此如果没有它,我需要它来组装战争。 我尝试将伪造的东西添加到配置中,但这并没有改变任何东西。 我想念什么? 问题答案: POM中的执行ID为。Maven对打包类型的项目运行

  • 我有一个非常简单的Java web应用程序,其中有2个jsp文件(索引和测试)。部署描述符应该提供一些线索: 这个项目是由Maven-WebApp原型创建的,POM中只有一个依赖项: 我在IntelliJ中有两个运行配置,一个用于Tomcat 7.0,一个用于Glassfish 3.1.2.2 当pom如上时,应用程序可以很好地部署到两个服务器上。但当我移除: 部署在Tomcat中失败,但在Gla