Duplicate the channel before being intercepted by the interceptor
I am using flume to do something like this
Source --> interceptor --> Channel --> multiplexing --> HDFS Sink
|-----------> Null Sink
I would like to add a channel immediately after the source, but I don't want the event to go through the interceptor. I would like a "raw" event. Like this:
Source --> interceptor (i) --> Channel --> multiplexing --> HDFS Sink
| |-----------> Null Sink
|-------> Channel (must no be intercepted by i) --> HDFS
How can i do this?
thank
+3
source to share
1 answer
Since the interceptors are configured for each source, you will need to add a second source (configured without any interceptors and listen on a different Http port), and emit data twice: one instance for the source with interceptors and one copy it to another source.
Another possibility is to chain two agents. The first one contains a single source without interceptors and two sinks: one for storing data, as in HDFS, and the other for feeding the agent that you already have. I mean:
src-->ch-->multip-->sink----------->src-->int-->ch-->multip-->hdfssink |-->hdfssink |-->nullsink (________agent1____________) (_____________agent2_____________)
+1
source to share