Flume的安装部署

1:下载Flume(啊,都贴腻了。。。。。)

CDH版本:http://archive.cloudera.com/cdh5/cdh/5/

官网版本:http://flume.apache.org/FlumeUserGuide.html#hbasesink

2:解压

tar -zxf flume-ng-1.6.0-cdh5.10.0.tar.gz -C /opt/mouldes/

删掉解压后的目录中的docs目录
rm -rf docs

3:概念

以下为Flume的架构图

Flume的安装部署_第1张图片

Flume是一个日志文件收集服务

webServer产生的数据,通过flume收集过来,抓取落地最后放到HDFS上。channel一般选取memory

4:服务启动的条件

Java Runtime Environment - Java 1.8 or later
Memory - Sufficient memory for configurations used by sources, channels or sinks
Disk Space - Sufficient disk space for configurations used by channels or sinks
Directory Permissions - Read/Write permissions for directories used by agent

翻译过来就是给我jdk1.8以上,给我内存,给我磁盘空间,给我读写权限。

5:架构,我选取的架构是两台flume机器负责从webserver上收取日志数据,一台flume做日志的合并预处理。第三台flume的输入是第一第二台机器的输出。所以不是这个架构的往后看没有意义了

如下图所示:只不过我只有两台机器做日志收集操作,图中又三台。后期我需要将Flume上的数据分发到HBase和Kafka上分别进行处理

Flume的安装部署_第2张图片

5:配置

flume.env.sh

export JAVA_HOME=/opt/modules/jdk1.7.0_67

flume-conf.properties

agent.sources = r1
agent.channels = c1
agent.sinks = s1
 
agent.sources.r1.type = exec
agent.sources.r1.command = tail -F /opt/datas/weblogs.log
agent.sources.r1.channels = c1


agent.channels.c1.type = memory
#channle通道的容纳数据的大小,容量
agent.channels.c1.capacity = 10000
#每个事物的容量 channel每次从source中抓取数据的时候,最大的容量
agent.channels.c1.transactionCapacity = 10000
#保持事物活跃的周期

#两种场景,当channel是满的状态,需要等待sink消费数据,再接受来自Source的发送过来的数据,
#当channel是空的状态的时候,需要等待source产生数据,再发送给sink消费,这也是等待的时间。
#可能第一次连接flume,channel爆满,所以最好把这个调大一点。
agent.channels.c1.keep-alive = 20

agent.sinks.s1.type = avro
agent.sinks.s1.channel = c1
agent.sinks.s1.hostname = bigdata-pro01.rachel.com
#接收端的数据需要用这个端口
agent.sinks.s1.port = 4545

 

你可能感兴趣的:(Flume)