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

时间:2017-07-18 14:03:07

标签: java datastax-enterprise datastax-java-driver spark-cassandra-connector cassandra-3.0

我正在尝试理解警告,每次当我运行我的火花作业时,我都会看到以下异常。我在我的3节点集群的2个节点中看到这个。但正如我所说它刚刚发出警告,工作成功了如初。

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

CASSANDRA LOG

  

INFO [SharedPool-Worker-1] 2017-07-17 22:25:48,716 Message.java:605    - 请求期间发生意外异常; channel = [id:0xf0ee1096,/ x.x.x.x:54863 => /x.x.x.x:9042]   io.netty.channel.unix.Errors $ NativeIoException:readAddress()失败:   连接超时           at io.netty.channel.unix.Errors.newIOException(Errors.java:105)   〜[网状-全4.0.34.Final.jar:4.0.34.Final]           在io.netty.channel.unix.Errors.ioResult(Errors.java:121)〜[netty-all-4.0.34.Final.jar:4.0.34.Final]           在io.netty.channel.unix.FileDescriptor.readAddress(FileDescriptor.java:134)   〜[网状-全4.0.34.Final.jar:4.0.34.Final]           at io.netty.channel.epoll.AbstractEpollChannel.doReadBytes(AbstractEpollChannel.java:239)   〜[网状-全4.0.34.Final.jar:4.0.34.Final]           at io.netty.channel.epoll.AbstractEpollStreamChannel $ EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:822)   〜[网状-全4.0.34.Final.jar:4.0.34.Final]           在io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:348)   〜[网状-全4.0.34.Final.jar:4.0.34.Final]           在io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:264)   〜[网状-全4.0.34.Final.jar:4.0.34.Final]           at io.netty.util.concurrent.SingleThreadEventExecutor $ 2.run(SingleThreadEventExecutor.java:112)   〜[网状-全4.0.34.Final.jar:4.0.34.Final]           at io.netty.util.concurrent.DefaultThreadFactory $ DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)   〜[网状-全4.0.34.Final.jar:4.0.34.Final]           在java.lang.Thread.run(Thread.java:745)[na:1.8.0_121]

1 个答案:

答案 0 :(得分:1)

错误的核心是“连接超时”。我建议从与pingtelnetnc等简单工具开始,对Cassandra集群的网络连接进行故障排除。一些可能的原因:

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

您提到问题是间歇性的(“在我的3节点群集的2个节点中看到这个”)并且不会导致作业失败。这可能表明上面列出的任何问题仅发生在集群中的一部分节点上。 (如果断开与所有节点的连接,那么作业可能会失败。)