flume定製 之 taildir支持子文件目錄

1、查看官網,taidir的路徑中只有文件名是支持正則表達式的,路徑不支持。

2、測試說明:taildir-->memory-->kafka

flume source的配置文件:

將配置文件中的路徑修改爲/data/taildir/*/.*log的話,flume會報錯

3、如何修改?

taildir監控目錄時,默認是不支持路徑正則表達式的, 源碼實現將最後一個"/"前面的作爲目錄, 只截取了最後一個"/"之後內容作爲正則表達式匹配規則.
源碼位置 : TaildirMatcher.java -> TaildirMatcher構造方法

修改後的源碼見:

https://www.jianshu.com/p/c97e1c7422b6

將代碼打一個瘦包,替換掉生產的flume-taildir-source-1.6.0-cdh5.7.0.jar的jar包即可

再次測試,支持子目錄

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章