【问题标题】:Unable to open native connection with spark sometimes有时无法使用火花打开本机连接
【发布时间】:2015-10-06 04:03:06
【问题描述】:

我正在使用 Spark 1.4 版和 Cassandra 2.18 运行 Spark 作业。我从 master 远程登录,它适用于 cassandra 机器。有时工作运行良好,有时我得到以下异常。为什么这种情况只是偶尔发生?

“线程“主”org.apache.spark.SparkException 中的异常:作业因阶段失败而中止:阶段 0.0 中的任务 0 失败 4 次,最近一次失败:阶段 0.0 中丢失任务 0.3 (TID 7, 172.28. 0.162): java.io.IOException: 无法在 {172.28.0.164}:9042 打开到 Cassandra 的本机连接 在 com.datastax.spark.connector.cql.CassandraConnector$.com$datastax$spark$connector$cql$CassandraConnector$$createSession(CassandraConnector.scala:155) "

它有时也会给我这个例外以及上面的例外:

原因:com.datastax.driver.core.exceptions.NoHostAvailableException:所有主机尝试查询失败(尝试:/172.28.0.164:9042(com.datastax.driver.core.TransportException:[/172.28 .0.164:9042] 连接已关闭))

【问题讨论】:

  • 你见过this question吗?
  • 是的,我有。问题是我有时会得到它,有时我的代码运行良好。当我重新启动所有主服务器和从服务器时,它可以工作,并且在运行我的工作 2-3 次后,它再次给了我这个错误。我关闭了所有 TIME_WAIT 端口,但仍然看到这个问题

标签: cassandra apache-spark


【解决方案1】:

这周我在将 Python spark 移植到 Java Spark 时多次遇到第二个错误“NoHostAvailableException”。

我遇到了驱动线程几乎耗尽内存的问题,并且 GC 占用了我的所有内核(所有 8 个内核的 98%),一直暂停 JVM。

在 python 中,当这种情况发生时(对我来说)更加明显,所以我花了一些时间才意识到发生了什么,所以我多次遇到这个错误。

我有两个关于根本原因的理论,但解决方案不是让 GC 发疯。

  1. 第一个理论是,因为它经常暂停,我就是无法连接到 Cassandra。
  2. 第二种理论:Cassandra 与 Spark 在同一台机器上运行,并且 JVM 占用了所有 CPU 的 100%,因此 Cassandra 无法及时响应,并且它看起来像没有 Cassandra 主机一样的驱动程序。

希望这会有所帮助!

【讨论】:

  • 是的,我的 cassandra 和我的 spark worker 在同一台机器上运行。这可能是一个问题。非常感谢,我会为此单独拿出一台机器
  • 它没有解决问题。我仍然得到这个问题。
猜你喜欢
  • 2021-08-04
  • 2018-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-04
  • 2020-04-11
相关资源
最近更新 更多