【问题标题】:Strange exception in /var/log/cassandra/system.log/var/log/cassandra/system.log 中的奇怪异常
【发布时间】:2016-09-17 11:37:55
【问题描述】:

Cassandra 日志中出现意外错误,尚无法追查根本原因。什么组件使用了 Netty,或者这个问题是众所周知的? (找不到任何信息)

INFO  [SharedPool-Worker-1] 2016-05-18 13:47:41,004  Message.java:532 - Unexpected exception during request; channel = [id: 0xe93fe01e, /40.68.XX.XXX:50818 :> /10.1.XX.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$2.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_91]

【问题讨论】:

  • /40.68.XX.XXX:50818 :> /10.1.XX.X:9042 有路线吗?您可以使用分配了 40.68.XX.XXX (ping -I <pub_interface> 10.1.XX.X) 的接口 ping 10.1.XX.X 地址吗? (提示:10/8 是私有的,而 40.68/16 是公共的,所以如果该公共接口没有 VPN 连接或类似于 10. 地址,那将不起作用)

标签: datastax-enterprise datastax-startup


【解决方案1】:

如果您正在为 Cassandra 使用 Gocql 驱动程序并得到此问题,请查看将 keepAlive 设置添加到连接配置是否可以解决此问题。发生读取超时,此配置对我们有帮助

type ConnConfig
type ConnConfig struct {
    ProtoVersion   int
    CQLVersion     string
    Timeout        time.Duration
    ConnectTimeout time.Duration
    Compressor     Compressor
    Authenticator  Authenticator
    Keepalive      time.Duration
    // contains filtered or unexported fields
}

https://godoc.org/github.com/gocql/gocql

【讨论】:

    【解决方案2】:

    似乎较新的 NETTY 版本更冗长,但无论如何它都是无害的 INFO 消息 - 如果您不想看到它,可以更改您的 logback 配置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-30
      • 1970-01-01
      • 2011-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多