本文匯總了Flume使用時的常見問題。
Hive日志數量少于實際日志數量?
- 問題現象:通過Flume將日志寫入Hive,發現Hive中的日志數量少于實際產生的日志數量。
- 解決方法:需要新增配置hdfs.batchSize,添加組件參數詳情,請參見添加組件參數。HDFS Sink通過hdfs.batchSize配置來控制每滿多少Event,刷新一次到HDFS。如果不配置該參數,默認每100條刷新一次到HDFS,會導致數據刷新不及時。
終止Flume進程時出現DeadLock報錯,如何處理?
- 問題現象:腳本調用exit方法終止Flume進程時,偶現DeadLock報錯。
- 解決方法:您可以使用命令
kill -9
強制退出。
如何處理強制退出后,FileChannel偶發性異常?
- 問題1
- 問題現象:使用FileChannel作為Channel類型,并在執行
kill -9
強制退出后,因獲取目錄鎖失敗,導致Flume無法成功重啟,具體報錯如下。Due to java.io.IOException: Cannot lock data/checkpoints/xxx. The directory is already locked.
- 解決方法:強制退出后,重啟時需要清理相關目錄下的in_use.lock文件,否則會出現異常。因此請盡量避免
kill -9
操作。
- 問題現象:使用FileChannel作為Channel類型,并在執行
- 問題2
- 問題現象:使用FileChannel作為Channel類型,并在執行
kill -9
強制退出后,因DATA目錄解析失敗,導致Flume無法成功重啟,具體報錯如下。org.apache.flume.channel.file.CorruptEventException: Could not parse event from data file.
- 解決方法:強制退出后,重啟時需要清理相關目錄下的CheckPoint和DATA目錄,否則會出現異常。因此請盡量避免
kill -9
操作。
- 問題現象:使用FileChannel作為Channel類型,并在執行