这里面现在就有三个配置文件需要写。
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
整个配置文件的书写: