我需要得到您的幫助以檢查flume爲什麼需要花費時間將平面文件上傳到HDFS。我嘗試上載了1個文件(10MB大小),但17小時過去了,它仍然以「.tmp」上傳。當我檢查了日誌詳細信息,就好像它卡在通道:Flume需要時間將文件上傳到HDFS
11月10日,X:XX:XX.XXX PM信息org.apache.flume.channel.file.LogFile關閉RandomReader /數據5/flumedata/log-1是
11月10日,X:XX:XX.XXX PM INFO org.apache.flume.channel.file.LogFile關閉RandomReader/DATA5/flumedata /日誌-2
11月10日,X :XX:XX.XXX PM INFO org.apache.flume.channel.file.LogFile關閉RandomReader/data5/flumedata/log-3
Nov 10,X:XX:XX.XXX PM INFO org.apache.flum e.channel.file.LogFile關閉RandomReader/DATA5/flumedata /日誌-4-
11月10日,X:XX:XX.XXX PM INFO org.apache.flume.channel.file.LogFile關閉RandomReader/DATA5/flumedata /日誌-5
11月10日,X:XX:XX.XXX PM INFO org.apache.flume.channel.file.LogFile關閉RandomReader/DATA5/flumedata /登錄6
11月10日,X: XX:XX.XXX PM INFO org.apache.flume.channel.file.LogFile關閉RandomReader/DATA5/flumedata /登錄7
11月10日,X:XX:XX.XXX PM INFO org.apache.flume。 channel.file.LogFile關閉RandomReader/data5/flumed ATA /對數8
11月10日,X:XX:XX.XXX PM INFO org.apache.flume.channel.file.EventQueueBackingStoreFile CheckpointBackupCompleted
11月10日,X:XX:XX.XXX PM INFO有機.apache.flume.channel.file.LogFile關閉RandomReader/data5/flumedata/log-9
Nov 10,X:XX:XX.XXX PM INF INFO org.apache.flume.channel.file.LogFile關閉RandomReader/DATA5/flumedata /日誌-10
11月10日,X:XX:XX.XXX PM INFO org.apache.flume.channel.file.LogFile關閉RandomReader/DATA5/flumedata /登入11
11月10日,X:XX:XX.XXX PM INFO org.apache.flume.channel.file.LogFile關閉RandomReader/DATA5/flumedata /日誌-12
11月10日,X:XX:XX.XXX PM INFO org.apache.flume.channel.file.LogFile關閉RandomReader/DATA5/flumedata /日誌-13
11月10日,X:XX:XX.XXX PM INFO org.apache.flume.channel.file.LogFile閉RandomReader/DATA5/flumedata /日誌-14
11月10日,X:XX:XX.XXX PM INFO org.apache.flume.channel.file.LogFile閉RandomReader/DATA5/flumedata /日誌-15
Nov 10,X:XX:XX.XXX PM INFO org.apache.flume.channel.file。日誌文件關閉RandomReader /數據5/flumedata /註銷16
下面是配置:
agent.sources = source1
agent.channels = channel1
agent.sinks = sinks1
agent.sources.source1.type = spooldir
agent.sources.source1.spoolDir = /data1/forupload
agent.sources.source1.channels = channel1
agent.sources.source1.basenameHeader = true
agent.channels.channel1.type = file
agent.channels.channel1.capacity = 1000000
agent.channels.channel1.transactionCapacity = 10000
agent.channels.channel1.checkpointDir = /data5/checkpoint
agent.channels.channel1.dataDirs = /data5/flumedata
agent.channels.channel1.useDualCheckpoints = true
agent.channels.channel1.backupCheckpointDir = /data5/backupcheckpoint
agent.channels.channel1.maxFileSize = 900000000
agent.sinks.sinks1.type = hdfs
agent.sinks.sinks1.hdfs.path = /user/flume
agent.sinks.sinks1.hdfs.filetype = DataStream
agent.sinks.sinks1.channel = channel1
agent.sinks.sinks1.hdfs.filePrefix = %{basename}
agent.sinks.sinks1.hdfs.fileSuffix = .csv
agent.sinks.sinks1.hdfs.rollInterval = 0
agent.sinks.sinks1.hdfs.rollSize = 0
agent.sinks.sinks1.hdfs.rollCount = 0
欣賞這個
謝謝你的迴應!實際上,我正在尋找可以有效使用Flume的選項,而無需人員手動終止進程以將所有數據全部上傳到HDFS,消除漫長的等待時間並在上傳時將其保持爲1個文件(因爲從現在開始文件分割)。我錯過了配置中的任何東西嗎? – bertsnipe
@bertsnipe Flume將源數據流傳輸到目的地。它假設數據是無止境的。因此,當您將另一個文件放入假脫機目錄時,Flume會將新文件發送到通道,並且剩下的第一個文件的任何數據將發送到sink和hdfs。如果你只想用Flume發送一個文件,你必須手動清除它。我也是Flume的新手,如果你有更好的解決方案,請糾正我。 –
另外,您的HDFS接收器配置禁止滾動文件。所以所有的數據都應該放在HDFS上的單個文件中。 –