使用群集中的多个HTTP源配置Flume

时间:2015-03-30 12:58:46

标签: apache http flume

如何配置Apache Flume在具有多个水槽代理的群集中收听多个HTTP sources

我的水槽代理配置如下:

agent1.sources.httpSource_1.type   = http
...
agent1.sources.httpSource_1.port   = 8081

agent1.sources.httpSource_2.type   = http
...
agent1.sources.httpSource_2.port   = 8082

agent1.sources.httpSource_3.type   = http
...
agent1.sources.httpSource_3.port   = 8083

假设我的群集中有5台服务器。我应该将哪个地址发送到我的所有5台服务器上的REST或POST http消息?

例如,如果我将HTTP POST消息发送到<server_dns_1>:8081,那么只有agent1才能处理它,如果我理解正确的话。 如何使用我的所有群集服务器以及应该将http请求发送到哪个地址?

1 个答案:

答案 0 :(得分:0)

Cantroid,您配置Flume的方式只会运行一个代理(agent1)。该代理将在内部运行5个侦听线程。

话虽如此,单个http POST无法向所有5个侦听线程(或5个代理,如果您最终将您的唯一代理分成5个)发送消息。除非您使用某些负载平衡软件或使用某些&#34;广播&#34;网络层面的魔力(我不是专家)。

然而,如果有5个侦听端口的原因是您想要执行5种不同的数据处理,那么您可以在单个HTTP端口中创建单个代理侦听,然后创建5个不同的通道,其中5个不同的接收器将侦听。这种架构的关键点是默认的通道选择器是复制的,即同一事件的副本将由独特的监听源放入5个通道。