这里面现在就有三个配置文件需要写。

flume1,2,3

如果都配在102上,那agent不能相同。

任务22:22_Flume高级_Channel选择器副本机制(配置文件)_数据


任务22:22_Flume高级_Channel选择器副本机制(配置文件)_官网_02


任务22:22_Flume高级_Channel选择器副本机制(配置文件)_配置文件_03


任务22:22_Flume高级_Channel选择器副本机制(配置文件)_官网_04


这是需求。我们为了测试效果明显,我们的数据源来自自己定义的目录的文件数据

/opt/module/data/hive.log

flume1.conf 的agent是a1
flume2.conf 的agent是a2
flume3.conf 的agent是a3

书写flume1配置文件:

1、命名:

任务22:22_Flume高级_Channel选择器副本机制(配置文件)_flume_05


2、写source

使用 taildir

任务22:22_Flume高级_Channel选择器副本机制(配置文件)_官网_06


3、写channel:

使用memory

任务22:22_Flume高级_Channel选择器副本机制(配置文件)_flume_07

4、写sink:

搜索avro sink:

任务22:22_Flume高级_Channel选择器副本机制(配置文件)_官网_08


任务22:22_Flume高级_Channel选择器副本机制(配置文件)_官网_09

查看官网发现avro sink和avro source一样

但是

avro source 连接主机是bind

而avro sink连接主机是hostname

任务22:22_Flume高级_Channel选择器副本机制(配置文件)_数据_10

4、书写bind绑定:

source是和两个channel绑定的

然后一个channel对应一个sink,有两对

任务22:22_Flume高级_Channel选择器副本机制(配置文件)_数据_11


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

任务22:22_Flume高级_Channel选择器副本机制(配置文件)_官网_04

1、书写命名:

任务22:22_Flume高级_Channel选择器副本机制(配置文件)_官网_13


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

任务22:22_Flume高级_Channel选择器副本机制(配置文件)_flume_14


阿波罗source是rpc的通讯框架,通过端口传输数据。和netcat差不多。但是那边必须是avro sink才行。

所有通过网络传输的都是ip+port

端口号都是用来通信的。

任务22:22_Flume高级_Channel选择器副本机制(配置文件)_flume_15


官方案例:

任务22:22_Flume高级_Channel选择器副本机制(配置文件)_flume_16


任务22:22_Flume高级_Channel选择器副本机制(配置文件)_数据_17


3、书写channel:

memory

任务22:22_Flume高级_Channel选择器副本机制(配置文件)_数据_18


4、书写sink

hdfs sink

任务22:22_Flume高级_Channel选择器副本机制(配置文件)_官网_19


任务22:22_Flume高级_Channel选择器副本机制(配置文件)_flume_20


5、书写bind:

任务22:22_Flume高级_Channel选择器副本机制(配置文件)_官网_21

书写flume3.conf文件:

任务22:22_Flume高级_Channel选择器副本机制(配置文件)_flume_22

和flume2.conf文件很多东西都一样。

第一个要改的点:a2改成a3,

任务22:22_Flume高级_Channel选择器副本机制(配置文件)_配置文件_23


第二个要改的点:

source的端口改成4142第三个:

修改sink,它的sink是file_roll

查看官网file_roll sink

任务22:22_Flume高级_Channel选择器副本机制(配置文件)_flume_24


任务22:22_Flume高级_Channel选择器副本机制(配置文件)_数据_25


任务22:22_Flume高级_Channel选择器副本机制(配置文件)_配置文件_26


这里的directory设置的是输出去的数据放到该路径。当时hdfs sink的路径我们是没有设置的,是他自己建的,而且还用的是%Y%m那种形式;

但是这里file_roll sink设置的directory必须存在该目录,它不会帮我们创建,要不然会报错;

重新写sink:

file_roll sink

任务22:22_Flume高级_Channel选择器副本机制(配置文件)_配置文件_27


自己去创建最后保存的数据的目录:

/opt/module/datas/group1

任务22:22_Flume高级_Channel选择器副本机制(配置文件)_flume_28


任务22:22_Flume高级_Channel选择器副本机制(配置文件)_配置文件_29


整个配置文件的书写:

任务22:22_Flume高级_Channel选择器副本机制(配置文件)_flume_30

任务22:22_Flume高级_Channel选择器副本机制(配置文件)_flume_31