硬件环境:html
腾讯云,两台服务器8G 双核 java
软件环境:node
flume1.八、jdk1.8,centos6linux
第一次搭建也是各类找文件,只知道flume是日志抓取服务,也据说了很是稳定强大的服务,正好公司须要抓取广告点击次数产生的日志要作费用统计,就和作大数据的同事学习了一下,初次学习flume的时候是经过flume官网还有各类论坛的例子结合查询,flume官网是纯英文,二把刀的我只能凭借关键字查询了解配置问题,无法官网是最权威的。apache
flume运行流程图:vim
手动绘画,忍着点把,^_^~ 简单解释一下图的意思,这是一个“单机版”的flume也就是新手第一次搭建的图,测试环境,安装flume以后去ping这台server的端口产生日志以后flume接收经过,而后输出到控制台的一个流程。centos
简单的介绍一下flume的工做流程,拿到日志(数据)——flume处理——发送——结束,大概就是这个样子 ,主要咱们学习的是flume处理的这个过程服务器
flume是一个分布式的java开发出来的服务工具,学过java的话,对它的报错和提示信息 咱们基本是没问题能看得懂的,分布式
当咱们经过方式来接收数据是由flume中的source来接收的,它主要是用来配置:去哪里接收?怎么接收数据?数据如何发送?这些是须要咱们来告诉它的,能够实时监听端口、日志、文件/文件夹,反正就是各类接收吧,具体怎么接收?哪一种接收?如何配置?官网的帮助文档上写的特清晰,必定要忍住看一下。我如今只解读个人测试环境监听的配置是什么意思,(其实例子也是在官网看到的。。。。)就能够照猫画虎的去作了,途中确定会报错,必定冷静下来,我也是一步一步解决的。工具
首先要准备flume和jdk
下载flume版本在官网 这个就不教了http://flume.apache.org/download.html
我这里用的是flume1.8版本,官网推荐1.6,能够在生产环境部署,比较稳定,咱们测试环境就用最新的了。
jdk下载本身查一下吧,不会jdk安装估计也学不到这里了。。。
全部下载tar包到linux服务器上
我放到了/opt下面了
解压完成以后就来部署环境变量
vim /etc/profile
在最后加上jdk和flume的环境变量方便操做
当即生效profile文件
source /etc/profile
而后随便位置测试一下环境变量是否生效
出现能够命令参数就说明环境变量正常了。若是没有那必定要检查本身电脑的环境问题,会不会发生冲突了或其余问题
接下来配置flume的配置文件
首先要copy一份配置文件来用更名为flume.conf
cp /opt/apache-flume-1.8.0-bin/conf/flume-conf.properties.template /opt/apache-flume-1.8.0-bin/conf/flume.conf
打开刚复制好的配置文件来删除里面全部内容,而后修改为我这样的
vim /opt/apache-flume-1.8.0-bin/conf/flume.conf
配置文件内容:
1 # example.conf: A single-node Flume configuration 2 3 # Name the components on this agent 4 a1.sources = r1 5 a1.sinks = k1 6 a1.channels = c1 7 8 # Describe/configure the source 9 a1.sources.r1.type = netcat 10 a1.sources.r1.bind = localhost 11 a1.sources.r1.port = 44444 12 13 # Describe the sink 14 a1.sinks.k1.type = logger 15 16 # Use a channel which buffers events in memory 17 a1.channels.c1.type = memory 18 a1.channels.c1.capacity = 1000 19 a1.channels.c1.transactionCapacity = 100 20 21 # Bind the source and sink to the channel 22 a1.sources.r1.channels = c1 23 a1.sinks.k1.channel = c1
其实已经配置完成了,如今就能够启动来测试flume是否能用了
启动命令:
flume-ng agent --conf conf --conf-file /opt/apache-flume-1.8.0-bin/conf/flume.conf --name a1 -Dflume.root.logger=INFO,console
而后会进入监听状态:
这就说明启动成功了,而后在打开一个登录窗口
使用telnet来检测这个端口是否能用,若是没有telnet须要安装,yum install telnet -y 这个若是有什么问题,本身解决一下把。
完成!
在这里我截图来解释一下这个配置文件的配置参数都是什么
对照参数和上面的画图,而后理解一下sources 、channels和sinks之间的工做原理,以上代码所有真实有效所有都是亲测以后,原创,不是转载别人的,因此复制能够直接使用。以后会研究flume集群搭建,到时候在分享给你们