我正在尝试理解警告,每次当我运行我的火花作业时,我都会看到以下异常。我在我的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]
答案 0 :(得分:1)
错误的核心是“连接超时”。我建议从与ping
,telnet
和nc
等简单工具开始,对Cassandra集群的网络连接进行故障排除。一些可能的原因:
您提到问题是间歇性的(“在我的3节点群集的2个节点中看到这个”)并且不会导致作业失败。这可能表明上面列出的任何问题仅发生在集群中的一部分节点上。 (如果断开与所有节点的连接,那么作业可能会失败。)