問題:咱們的項目使用flume收集web產生的日誌,輸出hdfs上,一天一個文件夾。文件下面就是今天的日誌,而後有一個日誌分析程序讀取天天的日誌進行分析,可是日誌分析程序一直讀不到hdfs上收集的日誌,可是查看已經收集的日誌文件,文件裏面有事有數據的,分析多是文件流一直在打開,致使未關閉的文件中的數據是不能被日誌分析程序讀取的,後來經一塊兒查找,發現hdfs.idleTimeout參數能夠定時關閉文件流,文件流關閉後,下次寫入的數據就會進入新的文件裏面。官方文檔接受:連續事件到一個未關閉的文件須要等待的最大時間週期的秒值,設置爲0禁用該選項。web
hdfs.idleTimeout,使用注意事項:好比值爲20,連續20秒沒有新的數據寫入當前文件,當前文件就會被關閉,而後產生一個新的文件,再有寫入的數據就寫到新的文件裏面;所以要控制好時間,不然會在hdfs上產生太多小文件。日誌
例如:
agent1.sinks.sink1.hdfs.idleTimeout = 20事件