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的源码及架构解读。

猜你喜欢

转载自zhao-rock.iteye.com/blog/2319217