Ich folgte der link für die Einstellung TwitterSource und HDFS sinken.Flume nicht auf HDFS schreiben, wenn getötet
Befehl zum Starten des Agenten verwendet:
bin/flume-ng agent -n TwitterAgent -c conf -f conf/flume-conf.properties -Dflume.root.logger=DEBUG,console
Ich war erfolgreich, dass in zu tun, aber es ist jetzt ein Problem. Der Ausgang wird nicht geschrieben, bis der Kanal gestoppt wird. Es wird in die HDFS geschrieben, sobald ich meinen Flume Agent töte.
Ich habe zwei Fragen hier:
1) Wie ein Gerinne Mittel zu stoppen - Gibt es eine Möglichkeit andere als C STRG + tun.
2) Kann ich den Flume-Agent auf dem Weg zum HDFS schreiben lassen, ohne den Agenten zu töten?
Hinweis: Nach dem Beenden des Prozesses hat die Datei, die geschrieben wird, .tmp als Erweiterung. Wird es erwartet?
EDIT:
TwitterAgent.sinks.HDFS.hdfs.rollSize = 0
TwitterAgent.sinks.HDFS.hdfs.rollCount = 10000
TwitterAgent.sinks.HDFS.hdfs.rollInterval = 600
Danke, das erklärt alles, denke ich. Ich habe meine Frage mit den Roll-Parametern bearbeitet. Mein RollCount ist 10000 und rollInterval ist 600. Ich werde versuchen, diese Werte zu reduzieren und es erneut versuchen. :) –
Ich möchte eine einzelne Datei pro Tag erstellen, so dass ich die Roll-Richtlinien nicht verwenden kann, aber meine BatchSize ist 1 und ich bekomme immer noch die OP-Probleme. Dies sind meine Roll-Konfigurationen: round = true, roundValue = 1, roundUnit = Tag, rollInterval = 0, rollSize = 0, rollCount = 0.Was kann ich tun, um in jedem Ereignis auf HDFS zu spülen? – ffleandro