2017-05-28 10 views
0

をシンクいくつかの分は私がこの例外を取得した後、水路内の同じ時間に一緒に沈む水路例外一緒

 
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チャネルの代わりにメモリチャネルを使用するか、kafkaチャネルの代わりにloggerSinkを使用すると、すべてがうまくいきます。たとえ私がカフカチャンネルに1つのカフカクラスターを使用し、カフカシンクにもう1つのカフカクラスターを使用しても、すべてがうまくいきます。

水路のバージョンは次のとおりです。1.7.0
カフカバージョンです:0.10.2.0

答えて

0

私は、単一のマシン上水路やカフカを使用。
flume-channel topicのパーティションを4から1に変更し、問題は解決しました。