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包即可
再次測試,支持子目錄