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的源码及架构解读。
上一篇: Linux搭建Flume开发环境
下一篇: Linux 计划任务管理