这里面现在就有三个配置文件需要写。
flume1,2,3
如果都配在102上,那agent不能相同。




这是需求。我们为了测试效果明显,我们的数据源来自自己定义的目录的文件数据
/opt/module/data/hive.log
flume1.conf 的agent是a1
flume2.conf 的agent是a2
flume3.conf 的agent是a3
书写flume1配置文件:
1、命名:

2、写source
使用 taildir

3、写channel:
使用memory

4、写sink:
搜索avro sink:


查看官网发现avro sink和avro source一样
但是
avro source 连接主机是bind
而avro sink连接主机是hostname

4、书写bind绑定:
source是和两个channel绑定的
然后一个channel对应一个sink,有两对

第一个配置文件写完了。书写flume2.conf

1、书写命名:

2、书写source:看官网的avro source

阿波罗source是rpc的通讯框架,通过端口传输数据。和netcat差不多。但是那边必须是avro sink才行。
所有通过网络传输的都是ip+port
端口号都是用来通信的。

官方案例:


3、书写channel:
memory

4、书写sink
hdfs sink


5、书写bind:

书写flume3.conf文件:

和flume2.conf文件很多东西都一样。
第一个要改的点:a2改成a3,

第二个要改的点:
source的端口改成4142第三个:
修改sink,它的sink是file_roll
查看官网file_roll sink



这里的directory设置的是输出去的数据放到该路径。当时hdfs sink的路径我们是没有设置的,是他自己建的,而且还用的是%Y%m那种形式;
但是这里file_roll sink设置的directory必须存在该目录,它不会帮我们创建,要不然会报错;
重新写sink:
file_roll sink

自己去创建最后保存的数据的目录:
/opt/module/datas/group1


整个配置文件的书写:












