前段时间一直纠结如何编译flume,但是编译一直出错。现在总结一份windows下的flume部署文档。Flume官网提供bin文件可以让用户在win下直接跑flume了。
因为跑flume是用java命令实现的。所以你的电脑必须配置jdk,这个网上有的,就不再介绍了。
1.去官网下bin文件。我下的是apache-flume-1.6.0-bin。
2.Conf目录下的flume-env.sh.template文件,在# Enviroment variables can be set here.这句话下面加上你的JAVA_HOME地址,比如JAVA_HOME=E:\JDK
3.Conf目录下新建exec_tail.conf文件。这里用监听文件末尾来作为部署的例子。配置如下:
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# Describe/configure the source
a1.sources.r1.type = exec
a1.sources.r1.channels = c1
a1.sources.r1.command = tail -f E:\log_exec_tail.txt
# Describe the sink
a1.sinks.k1.type = logger
# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
4.此时 ,你在E盘目录下新建一个log_exec_tail.txt文件,用来被监听。
5.由于win下tail命令无法使用,所以得去网上下一个tail,放在System32目录下。
6.打开cmd,启动命令: java -Xmx50m -Djava.net.preferIPv4Stack=true -Dlog4j.configuration=file:///E:apache-flume-1.6.0-bin\conf\log4j.properties -cp "E:apache-flume-1.6.0-bin\lib\*" org.apache.flume.node.Application -f E:\apache-flume-1.6.0-bin\conf\exec_tail.conf -n a1
此时,你向log_exec_tail.txt尾部写数据并保存,flume就能接收到数据。
原文:http://www.cnblogs.com/yuanyuan1994/p/5178031.html