flume搭建新手测试环境

硬件环境:

      腾讯云,两台服务器8G 双核

软件环境:

      flume1.8、jdk1.8,centos6

第一次搭建也是各种找文件,只知道flume是日志抓取服务,也听说了非常稳定强大的服务,正好公司需要抓取广告点击次数产生的日志要做费用统计,就和做大数据的同事学习了一下,初次学习flume的时候是通过flume官网还有各种论坛的例子结合查询,flume官网是纯英文,二把刀的我只能凭借关键字查询了解配置问题,没法官网是最权威的。

flume运行流程图:

 flume搭建新手测试环境

手动绘画,忍着点把,^_^~ 简单解释一下图的意思,这是一个“单机版”的flume也就是新手第一次搭建的图,测试环境,安装flume之后去ping这台server的端口产生日志之后flume接收通过,然后输出到控制台的一个流程。

简单的介绍一下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下面了

flume搭建新手测试环境

解压完成之后就来部署环境变量

vim /etc/profile

在最后加上jdk和flume的环境变量方便操作

flume搭建新手测试环境

立即生效profile文件

source /etc/profile

然后随便位置测试一下环境变量是否生效

flume搭建新手测试环境

出现可以命令参数就说明环境变量正常了。如果没有那一定要检查自己电脑的环境问题,会不会发生冲突了或其他问题

接下来配置flume的配置文件

首先要copy一份配置文件来用改名为flume.conf

cp /opt/apache-flume-1.8.-bin/conf/flume-conf.properties.template /opt/apache-flume-1.8.-bin/conf/flume.conf

打开刚复制好的配置文件来删除里面所有内容,然后修改成我这样的

vim /opt/apache-flume-1.8.-bin/conf/flume.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 = # 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 =
a1.channels.c1.transactionCapacity = # Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

其实已经配置完成了,现在就可以启动来测试flume是否能用了

启动命令:

flume-ng agent --conf conf --conf-file /opt/apache-flume-1.8.-bin/conf/flume.conf --name a1 -Dflume.root.logger=INFO,console

然后会进入监听状态:

flume搭建新手测试环境

这就说明启动成功了,然后在打开一个登陆窗口

使用telnet来检测这个端口是否能用,如果没有telnet需要安装,yum install telnet -y 这个如果有什么问题,自己解决一下把。

flume搭建新手测试环境

flume搭建新手测试环境

完成!

在这里我截图来解释一下这个配置文件的配置参数都是什么

flume搭建新手测试环境

对照参数和上面的画图,然后理解一下sources 、channels和sinks之间的工作原理,以上代码全部真实有效全部都是亲测之后,原创,不是转载别人的,所以复制可以直接使用。之后会研究flume集群搭建,到时候在分享给大家

上一篇:网络唤醒(WOL)全解指南:原理篇


下一篇:Lind.DDD.UoW工作单元的实现