Ich habe einen Flume 1.5-Agenten auf einer Ubuntu-Workstation, der Protokolle von verschiedenen Geräten sammelt und die Protokolle in einer durch Kommas getrennten Datei mit sehr langen Zeilen formatiert. Nach der Erfassung und Neuformatierung der Protokolle werden diese in ein Spool-Verzeichnis gestellt, in dem der Flume-Agent die Protokolldatei an einen Hadoop-Server sendet, auf dem ein Flume-Agent die Protokolldatei akzeptiert und in ein HDFS-Verzeichnis legt.Flume fügt Zeilenvorschub nach 2048 Zeichen hintereinander hinzu
Alles funktioniert einwandfrei, außer wenn Flume die Datei an das HDFS-Verzeichnis sendet, gibt es nach jeder 2048 Zeichen in jeder Zeile Line Feeds.
Unten sind meine Gerümpel Config-Dateien. Gibt es eine Einstellung, in der Gerinne angewiesen wird, keine Zeilenumbrüche einzufügen?
#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