【问题标题】:Flink-Cassandra connector throws exception (flink-connector-cassandra_2.11-1.10.0)Flink-Cassandra 连接器抛出异常(flink-connector-cassandra_2.11-1.10.0)
【发布时间】:2020-03-17 16:27:49
【问题描述】:

我正在尝试将 flink 1.7.2 升级到 flink 1.10,但我遇到了 cassandra 连接器的问题。每次我开始使用它的工作时都会引发以下异常:

com.datastax.driver.core.exceptions.TransportException: [/xx.xx.xx.xx] Error writing
    at com.datastax.driver.core.Connection$10.operationComplete(Connection.java:550)
    at com.datastax.driver.core.Connection$10.operationComplete(Connection.java:534)
    at com.datastax.shaded.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:680)
    at com.datastax.shaded.netty.util.concurrent.DefaultPromise.notifyLateListener(DefaultPromise.java:621)
    at com.datastax.shaded.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:138)
    at com.datastax.shaded.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:93)
    at com.datastax.shaded.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:28)
    at com.datastax.driver.core.Connection$Flusher.run(Connection.java:870)
    at com.datastax.shaded.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:358)
    at com.datastax.shaded.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357)
    at com.datastax.shaded.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112)
    at java.lang.Thread.run(Thread.java:748)
Caused by: com.datastax.shaded.netty.handler.codec.EncoderException: java.lang.OutOfMemoryError: Direct buffer memory
        at com.datastax.shaded.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:107)
        at com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:643)

当作业在本地(不在 YARN 中)运行时,还会打印以下消息:

13:57:54,490 ERROR com.datastax.shaded.netty.util.ResourceLeakDetector           - LEAK: You are creating too many HashedWheelTimer instances.  HashedWheelTimer is a shared resource that must be reused across the JVM,so that only a few instances are created.

所有不使用 cassandra 连接器的作业都可以正常工作 有人可以帮忙吗?

【问题讨论】:

    标签: cassandra apache-flink flink-streaming


    【解决方案1】:

    更新:该错误仍然可以重现,我认为这就是原因:https://issues.apache.org/jira/browse/FLINK-17493

    我有一个旧配置(来自 flink 1.7),其中配置了 classloader.parent-first-patterns.additional: com.datastax. 并且我的 cassadndra-flink 连接器位于 flink/lib 文件夹中(这样做是因为我在使用 Cassandra-flink 连接器时遇到了与阴影网相关的其他问题)。现在迁移到 flink 1.10 the following problem was hit。删除此配置 - classloader.parent-first-patterns.additional: com.datastax.,包括我的 jar 中的 flink-connector-cassandra_2.12-1.10.0.jar 并将其从 /usr/lib/flink/lib/ 中删除后,问题不再重现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-15
      • 2020-06-02
      • 2022-12-15
      • 2020-04-27
      • 2018-06-04
      • 2020-07-24
      • 1970-01-01
      • 2021-04-26
      相关资源
      最近更新 更多