在拦截器拦截之前重复通道

时间:2015-07-22 06:34:13

标签: flume flume-ng

我正在使用水槽来做这样的事情

Source --> interceptor --> Channel --> multiplexing --> HDFS Sink
                                          |-----------> Null Sink

我想在源之后添加一个频道,但我不希望事件通过拦截器。我想要“原始”活动。像这样:

Source --> interceptor (i) --> Channel --> multiplexing --> HDFS Sink
    |                                     |-----------> Null Sink
    |-------> Channel (must no be intercepted by i) --> HDFS

我该怎么做?

由于

1 个答案:

答案 0 :(得分:1)

由于拦截器是按源配置的,因此您必须添加第二个源(根本没有配置拦截器并在不同的Http端口中侦听),并发出两次数据:带有拦截器的源的一个副本,以及一个复制到其他来源。

另一种可能性是将两个代理链接起来。第一个包含没有拦截器的单个源,以及两个接收器:一个用于保存HDFS中的数据,另一个接收您已经拥有的代理。我的意思是:

src-->ch-->multip-->sink----------->src-->int-->ch-->multip-->hdfssink
                |-->hdfssink                              |-->nullsink
(________agent1____________)        (_____________agent2_____________)