为什么80%的码农都做不了架构师?>>>
最近有在windows平台部署flume的需求,由于之前部署windows下c++程序开发环境思维定式了,flume也执着于在windows环境编译,看了浩瀚星空的blog,不过编译一直不成功,而且博主提供的1.3版本又不支持开启flume.monitoring.type=http、flume.monitoring.port监控。后来才转过弯来,没必要在windows编译,直接拿flume官方打好的包一样可以直接跑。
实际部署可以借鉴浩瀚星空的blog他压缩包里的flume在windows下启动脚本flume.bat文件,tail.bat和tail.py配合完成。
我flume程序windows下部署大概流程:
安装jdk1.6,python2.7
1.解压 flume1.5.2.tar.gz
2.cd flume1.5\conf,修改flume-conf.properties根据实际修改kafka信息
3.cd flume1.5\bin,根据实际安装位置修改flume.bat中 FLUME_HOME 和 JAVA_HOME
4.修改tail.py文件:根据实际情况修改需要上传日志的路径。如: F:\nginx-1.7.8\logs\access.log
5.将flume1.5\bin,python2.7添加进系统PATH中
6.访问url检查服务运行是否正常:http://ip:34545/metrics
7.连接kafka查看日志是否接收到:./bin/kafka-console-consumer.sh --zookeeper kafka1:2181 --topic test1
贴出我的flume.bat windows下启动脚本,我开启了34545监控端口,另外需要注意的是flume在windonws启动的命令参数的顺序是有要求的:
set FLUME_HOME=D:\flume1.5
set JAVA_HOME=D:\Java\jdk1.6.0_45
set JAVA="%JAVA_HOME%\bin\java.exe"
set JAVA_OPTS=-Xmx1024m
set CONF=%FLUME_HOME%\conf\flume-conf.properties
set AGENT=agent
%JAVA% %JAVA_OPTS% -Dflume.monitoring.type=http -Dflume.monitoring.port=34545 -Dlog4j.configuration=file:\\\%FLUME_HOME%\conf\log4j.properties -cp "%FLUME_HOME%\lib\*" org.apache.flume.node.Application -f %FLUME_HOME%\conf\flume-conf.properties -n %AGENT%
另外使用flume在使用tail模式时,貌似不支持直接调用py脚本,需要通过一个批处理调用tail.py。