flumeとS3を使用してイベントを保存しています。 HDFSシンクが次のファイルに転がったり、水路が正常にシャットダウンしたりするたびに、イベントはS3に転送されるだけです。HDFSでS3にflumeイベントをシンクしてください。
これは、私の考えでは、データ損失の可能性があります。水路のドキュメントは書き込み:
...イベントの信頼性の高い 配信を保証するために私の設定トランザクションのアプローチを採用しています:...水路はここに
agent.sinks.defaultSink.type = HDFSEventSink
agent.sinks.defaultSink.hdfs.fileType = DataStream
agent.sinks.defaultSink.channel = fileChannel
agent.sinks.defaultSink.serializer = avro_event
agent.sinks.defaultSink.serializer.compressionCodec = snappy
agent.sinks.defaultSink.hdfs.path = s3n://testS3Bucket/%Y/%m/%d
agent.sinks.defaultSink.hdfs.filePrefix = events
agent.sinks.defaultSink.hdfs.rollInterval = 3600
agent.sinks.defaultSink.hdfs.rollCount = 0
agent.sinks.defaultSink.hdfs.rollSize = 262144000
agent.sinks.defaultSink.hdfs.batchSize = 10000
agent.sinks.defaultSink.hdfs.useLocalTimeStamp = true
#### CHANNELS ####
agent.channels.fileChannel.type = file
agent.channels.fileChannel.capacity = 1000000
agent.channels.fileChannel.transactionCapacity = 10000
私は仮定を私はちょうど何か間違っています、どんなアイデアですか?
最終的にhdfsに転送されなかったイベントのために、チャネルがトランザクションを終了していないようです。私は現在、この方向で研究しています。 – TheRueger