拦截器截获前复制通道

qyswt5oh  于 2021-06-04  发布在  Flume
关注(0)|答案(1)|浏览(234)

我在用Flume做这种事

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

我该怎么做?
谢谢

bq3bfh9z

bq3bfh9z1#

由于拦截器是按源配置的,因此您必须添加第二个源(配置为完全没有拦截器,并在不同的http端口中侦听),并发出两次数据:一个副本用于带有拦截器的源,另一个副本用于另一个源。
另一种可能性是将两个代理连锁。第一个包含一个没有拦截器的源和两个接收器:一个用于持久化hdfs中的数据,另一个用于向已有的代理提供数据。我是说:

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

相关问题