在被拦截器拦截之前复制通道

Duplicate channel before being intercepted by interceptor

我正在使用 flume 做这样的事情

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

我想在源之后添加一个通道,但我不想让事件通过拦截器。我想要 "raw" 活动。像这样:

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

我该怎么做?

谢谢

由于每个源都配置了拦截器,因此您必须添加第二个源(根本没有配置拦截器并在不同的 Http 端口上侦听),并发出两次数据:一个副本用于带有拦截器的源,并复制到另一个来源。

另一种可能性是链接两个代理。第一个包含没有拦截器的单个源和两个接收器:一个用于将数据保留在 HDFS 中,另一个提供您已有的代理。我的意思是:

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