flume配置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flume配置相关的知识,希望对你有一定的参考价值。
今天老大让我去调研flume+kafka+hdfs日志收集系统,下午就开始搭建相关的环境了。这里只是简单地介绍flume配置文件相关的,其他关于flume的基础知识请查看其他人的博客(有空我会补上)
首先是安装flume,安装方法可以根据官网上的方法来,官网地址为:https://cwiki.apache.org/confluence/display/FLUME/Getting+Started。不过按照官网的方法有点坑,首先需要安装maven,然后maven install, 但是这样install需要花很长的时候,一直在缓慢地下载东西,最后不得已直接从官网下载二进制包,解压完事。
然后就是配置问题了。一开始不太清楚flume的配置怎么写,网上其他人写的教程也是直接写个模板告诉你就这样,虽然照着别人的模板copy下来能跑起来,但是我想改动一下却不知道怎么去改了。于是又把目光投向了官网,给我找到了这个:http://flume.apache.org/FlumeUserGuide.html。这里面的configuration部分就详细写了有哪些配置,每个配置有什么东西。先来给出一份模板:
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
a1是agent的名字, 每个agent会有3个成员,分别是sources, sinks和channels。第4, 5, 6行分别是给agent a1的三个成员赋予名字,单纯只是名字,觉得有点奇怪,一开始我还以为是什么值。第9, 10, 11行驶对sources的配置,根据type的不同,属性名字也有所不同,比如例子里的type是netcat,那r1就有bind、port之类的属性,而如果type是exec的话,那么r1就会有command, channels等属性,有些属性是必须要指定的,不然在运行flume的时候日志会报错。其他sinks和channels的配置规则也跟sources的类似,具体要填什么值的话就要参看configuration部分的选项说明,从中选取适合项目的配置了。
ok,就这么简单地说一下吧,明天继续探索flume+kafka+hdfs~
以上是关于flume配置的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 Java 代码更改 Apache Flume 的配置文件?
flume系列之:python读取flume配置文件,并把配置写入到zookeeper节点,再根据写入到zookeeper中的配置启动flume agent