使用kafka频道和kafka汇总时的Flume异常

时间:2017-05-28 06:16:24

标签: apache-kafka flume flume-ng

当我使用kafka频道和kafka同时在水槽中沉没时,几分钟后我得到了这个例外

java.lang.IllegalStateException: close() called when transaction is OPEN - you must either commit or rollback first
    at com.google.common.base.Preconditions.checkState(Preconditions.java:172)
    at org.apache.flume.channel.BasicTransactionSemantics.close(BasicTransactionSemantics.java:179)
    at org.apache.flume.sink.kafka.KafkaSink.process(KafkaSink.java:255)
    at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:67)
    at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:145)
    at java.lang.Thread.run(Thread.java:748)

在成功传递某些事件后抛出此异常。

如果我使用内存通道而不是kafka通道或loggerSink而不是kafka sink,一切都很好。即使我使用一个kafka集群用于kafka频道,另一个kafka集群用于kafka sink,一切都很好。

Flume版本是:1.7.0
Kafka版本是:0.10.2.0

1 个答案:

答案 0 :(得分:0)

我在一台机器上使用了水槽和卡夫卡 我将水槽通道主题分区从4更改为1,问题已修复。