天天看點

flume使用hdfs sink時需要注意的幾點

最近接觸了flume,這個日志收集器在擴充性方面确實很便捷,相信這與其架構的設計有密切的關系。書歸正傳,這次用到了hdfs sink在使用時還是有幾點需要注意的,在此和大家分享一下。

第一部分windows下搭建單機的hdfs

如果你和我一樣沒有linux的測試環境,想在windows搭建hdfs,可以參考下面的連結,筆者就是參照這篇文章進行部署的

http://blog.csdn.net/jiutianhe/article/details/17709717

需要注意的是windows下使用hdfs需要依賴hadoop.dll winutils.exe等,此處有兩點需要注意

1. hadoop.dll winutils.exe在官方的bin包中沒有,可以通過源碼編譯或者在網上下載下傳已經編譯好的

2. 在2.2版本後這些依賴包,均發生了改變,也就是說低版本的這些依賴,在高版本上使用會報錯

第二部分hdfs sink

1.需要把hadoop的包引入到%flume_home%/lib中

1.1 hadoop-common 不引入會報錯 classNotFound SequenceFile

1.2 hadoop-hdfs 不引入會報錯 no filesystem for scheme hdfs

1.3 flume-ng啟動時的classpath需要加入%hadoop_home%/share/hadoop/common/lib ,這主要是hadoop-common依賴的jar在那個目錄

1.4hdfs需要event的header裡要帶時間戳,如果沒有可以通過設定hdfs.useLocalTimeStamp=true來使用本地時間戳

以上就是在使用時,需要注意的地方,如果感興趣就行動起來吧,想的再多,也不如動手試試。

最近一直在接觸flume,後期可能會寫一些flume的源碼及架構解讀。