2016-03-31 3 views
0

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 

Antwort

Verwandte Themen