08 flume级联

2020-06-22  本文已影响0人  张力的程序园

本小节将展示flume的级联。所谓级联,是指一个flume的sink作为另一个flume的source,常用于收集其他服务器的日志到日志服务器。

1、前提约束

2、操作步骤

执行以下命令,将完成把142中的日志数据同步到141:
(1)在141执行以下命令,拷贝flume安装包到hadoop2

scp -r /root/apache-flume-1.8.0-bin root@hadoop2:/root

(2)修改141中的flume配置文件flume-conf-avro.properties

a2.sources = r1
a2.sinks = k1
a2.channels = c1
a2.sources.r1.type = avro
a2.sources.r1.bind = 192.168.100.141
a2.sources.r1.port = 44444
a2.sources.r1.interceptors = i1
a2.sources.r1.interceptors.i1.type = timestamp
a2.sinks.k1.type = file_roll
a2.sinks.k1.sink.directory = /root/test
a2.sinks.k1.sink.rollInterval = 0
a2.channels.c1.type = memory
a2.channels.c1.capacity = 1000
a2.channels.c1.transactionCapacity = 100
a2.sources.r1.channels = c1
a2.sinks.k1.channel = c1  

注意,需要在141中创建/root/test文件夹。
(3)在141中启动flume服务,此时141服务器中44444端口将处于监听状态

 /root/apache-flume-1.8.0-bin/flume-ng agent -c ../conf -f ../conf/flume-conf-avro.properties  -n a2&

(4)修改142中的flume配置文件flume-conf-avro.properties

a1.sources = r1
a1.sinks = k1
a1.channels = c1
a1.sources.r1.type = avro
a1.sources.r1.bind = localhost
a1.sources.r1.port = 55555
a1.sinks.k1.type = avro
a1.sinks.k1.hostname = 192.168.100.141
a1.sinks.k1.port = 44444
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

(5)在142中启动flume服务,此时142服务器中55555端口将处于监听状态

 /root/apache-flume-1.8.0-bin/flume-ng agent -c ../conf -f ../conf/flume-conf-avro.properties  -n a1 

(6)在142中创建/root/info.log,内容如下

ali
xiaoli
zhangli

在142中执行以下命令,将以avro协议方式发送log日志数据到142的55555端口

/root/apache-flume-1.8.0-bin/flume-ng avro-client -H localhost -p 55555 -F /root/info.log

(7)查看141中的/root/test目录,我们将看到同步好的数据。
以上就是flume级联操作。

上一篇下一篇

猜你喜欢

热点阅读