公司要求用到flume ,但要在window环境下搭建,这个星期搞了三天终于搞好。其实跟着官方文档(全英),配置很简单!
我把我这几天在网上搜到的资料整理总结一下:
1.首先说明:flume1.6 以后在windows下启动agent不用自己写脚本,网上要写脚本很多都是版本在1.6之前的!(知道这个你就省事多了)
图截获自:官网中1.6的介绍:http://flume.apache.org/releases/1.6.0.html
2.前提安装java jdk(百度安装和配置)
1.6版本要求:java运行环境-java 1.6或者更新(推荐使用1.7)
1.7版本要求:Java Runtime Environment - Java 1.7 or later
(一定要配置环境变量)
3.开始下载安装和配置:
(1)官网:http://archive.apache.org/dist/flume/ 下载:apache-flume-1.6.0-bin.tar.gz
(2)在合适的位置解压
(3)参照官网的user guide配置:
英文指南:http://flume.apache.org/releases/content/1.6.0/FlumeUserGuide.html
中文指南:http://www.jianshu.com/p/41de9a715273
a.在解压后的文件 apache-flume-1.6.0-bin/conf下创建一个example.conf,内容为:
# example.conf: A single-node Flume configuration # Name the components on this agent a1.sources = r1 a1.sinks = k1 a1.channels = c1 # Describe/configure the source a1.sources.r1.type = netcat a1.sources.r1.bind = localhost a1.sources.r1.port = 44444 # 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
b. 打开cmd 进入到 D:\develop\apache-flume-1.6.0-bin\bin (以下的图,截了1.7版本的,和1.6原理一样)
c.输入
①flume-ng.cmd agent -conf ../conf -conf-file ../conf/example.conf -name a1(如图,注意空格)
②:先在cmd 输入 java -Dflume.root.logger=INFO,console,再输入①。
第二种情况的分析:官网原本输入:
$ bin/flume-ng agent --conf conf --conf-file example.conf --name a1 -Dflume.root.logger=INFO,console
这是linux 下的命令,windows不适用,且 -Dflume.root.logger=INFO,console 属于java命令 java -D(这个是通过官网文档和百度java -D所得的结论,如有不对,欢迎指教)
补: agent,-conf等命令是什么意思可以 通过 flume-ng.cmd help 来查看:
d.成功后会出现这样的画面:
e.保留当前cmd ,开启另一个cmd ,并输入telnet localhost 44444
解释:telnet 是什么,windows7是默认关闭的,怎么打开,这些自行百度
localhost 和 端口号:44444是你在example.conf设置的
f.最后两个cmd 就可以传输信息了,哈哈