Çeşitli aygıtlardan günlükleri toplayan ve günlükleri çok uzun satırlarla virgülle ayrılmış bir dosyaya yeniden biçimlendiren bir Ubuntu iş istasyonunda çalışan bir Flume 1.5 aracısı var. Günlüklerin toplanması ve yeniden biçimlendirilmesinden sonra, Flume Agent'ın günlük dosyasını bir Flume aracısı çalıştıran bir Hadoop sunucusuna gönderdiği bir spool dizinine yerleştirilir ve bir HDFS dizinine yerleştirilir.Art arda 2048 karakter sonra satır besleme ekleme
Her şey, Flume dosyayı HDFS dizinine gönderdiğinde, her satırda her 2048 karakterden sonra Satır Beslemeleri bulunduğundan, her şey iyi çalışır.
Aşağıda flume yapılandırma dosyalarım var. Çizgi beslemelerini sokmamak için kanalın açık olduğunu belirten bir ayar var mı?
SATIR deserializer için varsayılan maxLineLength 2048:
#On Ubuntu Workstation
#list sources, sinks and channels in the agent
agent.sources = axon_source
agent.channels = memorychannel
agent.sinks = AvroOut
#define flow
agent.sources.axon_source.channels = memorychannel
agent.sinks.AvroOut.channel = memorychannel
agent.channels.memorychannel.type = memory
agent.channels.memorychannel.capacity = 100000
#source
agent.sources.axon_source.type = spooldir
agent.sources.axon_source.spoolDir = /home/ubuntu/workspace/logdump
agent.sources.axon_source.decodeErrorPolicy = ignore
#avro out
agent.sinks.AvroOut.type = avro
agent.sinks.AvroOut.hostname = 172.31.12.221
agent.sinks.AvroOut.port = 41415
agent.sinks.AvroOut.maxIoWorkers = 2
------------------------------------------------------------
#On Hadoop Server
agent.sources = AvroIn
agent.sources.AvroIn.type = avro
agent.sources.AvroIn.bind = 172.31.131.1
agent.sources.AvroIn.port = 41415
agent.sources.AvroIn.channels = MemChan1
agent.channels = MemChan1
agent.channels.MemChan1.type = memory
agent.channels.MemChan1.capacity = 100000
agent.sinks = HDFSSink
agent.sinks.HDFSSink.type = hdfs
agent.sinks.HDFSSink.channel = MemChan1
agent.sinks.HDFSSink.hdfs.path = /Logs/%Y%m/
agent.sinks.HDFSSink.hdfs.filePrefix = axoncapture
agent.sinks.HDFSSink.hdfs.fileSuffix = .log
agent.sinks.HDFSSink.hdfs.minBlockReplicas = 1
agent.sinks.HDFSSink.hdfs.rollCount = 0
agent.sinks.HDFSSink.hdfs.rollSize = 314572800
agent.sinks.HDFSSink.hdfs.writeFormat = Text
agent.sinks.HDFSSink.hdfs.fileType = DataStream
agent.sinks.HDFSSink.hdfs.useLocalTimeStamp = True