Flume安装

本文介绍了Flume的安装步骤及配置方法,演示了如何利用Flume从Avro对象接收数据并输出到日志,同时提供了详细的配置示例。
     最近实验室在搞storm流计算处理广告异常方面的学习。 思路就是“Flume+Kafka+storm”平台,其中Flume可以模拟数据源发送源源不断的流数据,Kafka是个类似缓冲机制的东西,有生产者和消费者接口,分别与上流的Flume和下流的storm交互,storm平台则从Kafka取得数据处理。

     Flume的安装非常简单,去到官网看一张图可以迅速又深刻的理解它的概貌:

      Agent是它的最小处理单位,在处理每一个Agent的时候,你必须按照conf目录下提供的模板文件来设计你的angent,里面的参数包括设置上述的source,channel,sink。数据源关联的对象也非常丰富,可以是本地文件,可以是分布式系统文件,也可以是avro对象以及其他,具体的测试在这篇文章中有提到 http://idoall.org/home.php?mod=space&uid=1&do=blog&id=550 ,或者去官方的wiki找到更多详细的配置:http://flume.apache.org/FlumeUserGuide.html 

     1、到官网下载页面 http://flume.apache.org/download.html 下载版本,然后解压到自定义的文件夹下。
     2、修改conf目录下的flume-env.sh文件,主要是修改java的目录路径就可以了,可选的是jvm的内存参数那些:

      然后检测一下是否安装成功:

     3、测试。
        首先,给你的angent设计一个配置文件。我使用的如下:

     24~25行分别定义了sources,channels,和sinks的名字。
     29~36定义了该sources的具体配置,指定type为avro,让它通过avro的RPC机制读取avro对象作为数据源;sources的channels类型指定为刚才我们命名为mem1的channels(联想一下刚才Agent的内部结构图,很好理解)
     39~42行定义了sinks的具体配置,作为angent的输出端。指定type类型为logger;channel的值指定为刚才定义好的mem1。
     45~51定义了channels的具体配置,主要指定type的类型为memory内存,这样,整个的数据流有点类似从avro对象输入到内存,然后sinks端从内存中再读取出来。
     53~54是将三者关联起来,可能跟上述有些地方做了重复的工作。
     补充一下,这个agent的名字叫做“agent1”,就是每行的第一个字段,可以自定义。该命名在你发送数据或者其他工作的时候要用到。

     定义好agent的配置文件之后,启动这个agent:

     你可以在终端键入flume-ng,这样就会有提示各个参数的意义。其中:
     agent:表明要运行一个跟agent有关的命令
     -c   :即configuration,后面接flume配置文件目录的路径
     -f   :后面接要运行的agent的配置文件。在本例中是上述我们配置的agent.conf
     -n   :即name,后面接你要运行的agent的名字,本例中是我们在配置文件中命名的angent1
     最后一个参数表明将输出端设置为控制台,并只输出INFO级别的日志。
     PS:之前在启动agent的时候老是失败,查找日志修改过后没有bug,但是运行结果老是没有打印在控制台console上,后来根据日志排错修改conf目录下的log4j.properties配置,运行成功。
     原来配置是第26行,注意到它的输出是到一个叫做“LOGFILE”的端,这里修改为27行的console就可以了。
     
     现在在flume目录下有一个叫做testLog.txt的文件,里面写着“hello world, flume”。另一个终端使用avro-client发送文件。
     各参数的意义如下:
     -H :指定主机名,本例中是storm
     -p :指定的端口号,就是刚才在agent.conf文件中配置的端口号,本例为9090
     -F :指定要发送的文件,也即刚才的testLog.txt文件

     回到启动agent的那个终端可以看到结果。

     这样Flume就算是安装完成了。 PS:可以看到的发送的数据并不完整hello world, flu,只能显示16个字节,但是在实际中发送数据正常情况下并没有丢失。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值