Datastax 驱动程序连接异常 DSE 5.0、CASSANDRA 3.0.7、spark

Datastax driver connection exception DSE 5.0 , CASSANDRA 3.0.7 ,spark

我试图理解这个警告,每次我在 运行 我的 spark 作业时看到以下异常。我在我的 3 个节点 cluster.But 的 2 个节点中看到这个,因为我说它只是警告,工作如何成功。

com.datastax.driver.core.exceptions.ConnectionException: [x.x.x.x/x.x.x.x:9042] Pool was closed during initialization

CASSANDRA 日志

INFO [SharedPool-Worker-1] 2017-07-17 22:25:48,716 Message.java:605 - Unexpected exception during request; channel = [id: 0xf0ee1096, /x.x.x.x:54863 => /x.x.x.x:9042] io.netty.channel.unix.Errors$NativeIoException: readAddress() failed: Connection timed out at io.netty.channel.unix.Errors.newIOException(Errors.java:105) ~[netty-all-4.0.34.Final.jar:4.0.34.Final] at io.netty.channel.unix.Errors.ioResult(Errors.java:121) ~[netty-all-4.0.34.Final.jar:4.0.34.Final] at io.netty.channel.unix.FileDescriptor.readAddress(FileDescriptor.java:134) ~[netty-all-4.0.34.Final.jar:4.0.34.Final] at io.netty.channel.epoll.AbstractEpollChannel.doReadBytes(AbstractEpollChannel.java:239) ~[netty-all-4.0.34.Final.jar:4.0.34.Final] at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:822) ~[netty-all-4.0.34.Final.jar:4.0.34.Final] at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:348) ~[netty-all-4.0.34.Final.jar:4.0.34.Final] at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:264) ~[netty-all-4.0.34.Final.jar:4.0.34.Final] at io.netty.util.concurrent.SingleThreadEventExecutor.run(SingleThreadEventExecutor.java:112) ~[netty-all-4.0.34.Final.jar:4.0.34.Final] at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137) ~[netty-all-4.0.34.Final.jar:4.0.34.Final] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121]

错误的核心是"Connection timed out"。我建议对 Cassandra 集群的网络连接进行故障排除,从更简单的工具开始,例如 pingtelnetnc。一些潜在原因:

  • Cassandra 客户端的连接配置包含无效地址(不是 Cassandra 集群中的节点)。
  • 网络配置错误或防火墙规则阻止客户端连接到 Cassandra 服务器。
  • 目标 Cassandra 服务器过载,无法响应新的连接请求。

您提到该问题是间歇性的 ("seeing this in 2 nodes of my 3 node cluster"),不会导致作业失败。这可能表明上面列出的任何问题仅发生在集群中的一部分节点上。 (如果与所有节点的连接都中断,则作业可能会失败。)