如何编译及运行flume源码

一、从源码开始编译

1、github(https://github.com/apache/flume)上fork分支,下载到本地

2、编译 mvn clean package -DskipTests=true  ,要求JDK7及以上版本,maven3及以上版本

编译过程中,可能有很多jar下载不了,建议用google搜索,相应的jar,下载到本地仓库(本人反复下载缺失jar,拷贝到maven配置的本地仓库,花费在2小时左右。)

3、导入eclipse ,会发现还有编译错误,原因是一些类找不到,这正是avro序列化框架自动生成的源码,如果正常编译,这些代码已经在target目录下生成了。将target下的avro生成的源代码拷贝到对应目录,解决编译问题。

flume compile ok

二、运行Application

1、下载flume二进制包

http://flume.apache.org/download.html 解压到任意目录下,记为your_flume_root

按照用户指南,启动flume,telnet获取数据即可。

2、将${your_flume_root}/conf/log4j.properties文件拷贝到flume\flume-ng-node\src\main\java源码目录下,并将console加到第一行 

  flume.root.logger=INFO,LOGFILE,console

将${your_flume_root}/conf/example.conf 拷贝到 /flume-ng-node/example.conf

copy files

 3、在eclipse设置Application入口类的debug参数

-n a1 -f example.conf

set debug params

  运行Application类(含main)方法:如下图:

flume Application启动

打开cmd运行telnet localhost 44444 (window默认telnet服务时关闭的,需要手工启动telnet服务),输入hello flume

telnet client

telnet

Over !现在可以开始研究flume代码如何启动及运转了。

参考资料

Flume-NG启动过程源码分析 http://blog.csdn.net/szwangdf/article/details/34097965

Flume 1.6.0 User Guide http://flume.apache.org/FlumeUserGuide.html

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值