Flume的配置文件就是类似与Kettle的ktr或者kjb,从哪里获取数据怎么处理录到哪里都是通过配置文件进行描述的,官方《Flume 1.9.0 User Guide》已经很详细了,各种sources、channels、sinks都有相当详细的配置说明和demo举例,我们这里弄几个常用的案例进行测试说明。
1.配置格式
配置通常需要【定义】和【绑定】两个部分,放在哪里就是个人习惯了,我习惯定义在上,绑定在下:
- 定义 Agent 的 Sources,Channels,Sinks 及其具体参数【参数可以从官网查询】。基本格式如下:
# 定义agentName的sources、channels、sinks
<agentName>.sources = <sourceName>
<agentName>.channels = <channelName1> <channelName2>
<agentName>.sinks = <sinkName>
# 定义sources的具体属性
<agentName>.sources.<sourceName>.<someProperty> = <someValue>
# 定义channels的具体属性
<agentName>.channels.<channelName1>.<someProperty> = <someValue>
<agentName>.channels.<channelName2>.<someProperty> = <someValue>
# 定义sinks的具体属性
<agentName>.sinks.<sinkName>.<someProperty> = <someValue>
- 绑定 Sources 和 Sinks 的 Channels。需要注意的是一个Sources可以配置多个Channels,但一个 Sink只能配置一个Channel。【sources后的是channels,sinks后的是channel,一定要注意。】基本格式如下:
# 绑定sources的channels
<agentName>.sources.